summaryrefslogtreecommitdiff
path: root/src/kernel/tests/base.h
blob: ec314c54e9e1244fc3572b1d16ea1a019e2e76a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once
#include <kernel/arch/generic.h>
#include <kernel/util.h>
#include <stdbool.h>

extern bool _did_tests_fail;

// tests MUST be used
#pragma GCC diagnostic error "-Wunused-function"

#define TEST(name) \
	static void __test_##name(void)

#define TEST_RUN(name) \
	__test_##name();

#define TEST_COND(cond)                           \
	if (!(cond)) {                                \
		_did_tests_fail = true;                   \
		kprintf("test failed at " __FILE__ ":" NUM2STR(__LINE__) " "); \
	}