Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * Copyright 2013, Michael Ellerman, IBM Corp.
3 * Licensed under GPLv2.
4 */
5
6#ifndef _SELFTESTS_POWERPC_UTILS_H
7#define _SELFTESTS_POWERPC_UTILS_H
8
9#include <stdint.h>
10#include <stdbool.h>
11
12/* Avoid headaches with PRI?64 - just use %ll? always */
13typedef unsigned long long u64;
14typedef signed long long s64;
15
16/* Just for familiarity */
17typedef uint32_t u32;
18typedef uint8_t u8;
19
20
21int test_harness(int (test_function)(void), char *name);
22
23
24/* Yes, this is evil */
25#define FAIL_IF(x) \
26do { \
27 if ((x)) { \
28 fprintf(stderr, \
29 "[FAIL] Test FAILED on line %d\n", __LINE__); \
30 return 1; \
31 } \
32} while (0)
33
34/* The test harness uses this, yes it's gross */
35#define MAGIC_SKIP_RETURN_VALUE 99
36
37#define SKIP_IF(x) \
38do { \
39 if ((x)) { \
40 fprintf(stderr, \
41 "[SKIP] Test skipped on line %d\n", __LINE__); \
42 return MAGIC_SKIP_RETURN_VALUE; \
43 } \
44} while (0)
45
46#define _str(s) #s
47#define str(s) _str(s)
48
49#endif /* _SELFTESTS_POWERPC_UTILS_H */