cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tests.h (1633B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __LIBPERF_INTERNAL_TESTS_H
      3#define __LIBPERF_INTERNAL_TESTS_H
      4
      5#include <stdio.h>
      6#include <unistd.h>
      7
      8extern int tests_failed;
      9extern int tests_verbose;
     10
     11static inline int get_verbose(char **argv, int argc)
     12{
     13	int c;
     14	int verbose = 0;
     15
     16	while ((c = getopt(argc, argv, "v")) != -1) {
     17		switch (c)
     18		{
     19		case 'v':
     20			verbose = 1;
     21			break;
     22		default:
     23			break;
     24		}
     25	}
     26	optind = 1;
     27
     28	return verbose;
     29}
     30
     31#define __T_START					\
     32do {							\
     33	tests_verbose = get_verbose(argv, argc);	\
     34	fprintf(stdout, "- running %s...", __FILE__);	\
     35	fflush(NULL);					\
     36	tests_failed = 0;				\
     37} while (0)
     38
     39#define __T_END								\
     40do {									\
     41	if (tests_failed)						\
     42		fprintf(stdout, "  FAILED (%d)\n", tests_failed);	\
     43	else								\
     44		fprintf(stdout, "OK\n");				\
     45} while (0)
     46
     47#define __T(text, cond)                                                          \
     48do {                                                                             \
     49	if (!(cond)) {                                                           \
     50		fprintf(stderr, "FAILED %s:%d %s\n", __FILE__, __LINE__, text);  \
     51		tests_failed++;                                                  \
     52		return -1;                                                       \
     53	}                                                                        \
     54} while (0)
     55
     56#define __T_VERBOSE(...)						\
     57do {									\
     58	if (tests_verbose) {						\
     59		if (tests_verbose == 1) {				\
     60			fputc('\n', stderr);				\
     61			tests_verbose++;				\
     62		}							\
     63		fprintf(stderr, ##__VA_ARGS__);				\
     64	}								\
     65} while (0)
     66
     67#endif /* __LIBPERF_INTERNAL_TESTS_H */