brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · b130a66 Raw
68 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __LIBPERF_INTERNAL_TESTS_H3#define __LIBPERF_INTERNAL_TESTS_H4 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 */68