67 lines · 1.6 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#ifndef __LIBPERF_INTERNAL_TESTS_H#define __LIBPERF_INTERNAL_TESTS_H #include <stdio.h>#include <unistd.h> extern int tests_failed;extern int tests_verbose; static inline int get_verbose(char **argv, int argc){	int c;	int verbose = 0; 	while ((c = getopt(argc, argv, "v")) != -1) {		switch (c)		{		case 'v':			verbose = 1;			break;		default:			break;		}	}	optind = 1; 	return verbose;} #define __T_START					\do {							\	tests_verbose = get_verbose(argv, argc);	\	fprintf(stdout, "- running %s...", __FILE__);	\	fflush(NULL);					\	tests_failed = 0;				\} while (0) #define __T_END								\do {									\	if (tests_failed)						\		fprintf(stdout, "  FAILED (%d)\n", tests_failed);	\	else								\		fprintf(stdout, "OK\n");				\} while (0) #define __T(text, cond)                                                          \do {                                                                             \	if (!(cond)) {                                                           \		fprintf(stderr, "FAILED %s:%d %s\n", __FILE__, __LINE__, text);  \		tests_failed++;                                                  \		return -1;                                                       \	}                                                                        \} while (0) #define __T_VERBOSE(...)						\do {									\	if (tests_verbose) {						\		if (tests_verbose == 1) {				\			fputc('\n', stderr);				\			tests_verbose++;				\		}							\		fprintf(stderr, ##__VA_ARGS__);				\	}								\} while (0) #endif /* __LIBPERF_INTERNAL_TESTS_H */