blob: 5a9ee242178f947ee83f281cc3574021e759cdfb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef PKE_PKE_TEST_TYPES_H
#define PKE_PKE_TEST_TYPES_H
#include <setjmp.h>
#include <stdint.h>
struct pke_test_long_jump {
uint8_t expected_exit;
uint8_t caught;
jmp_buf jump_env;
};
extern struct pke_test_long_jump lj;
typedef int (pke_test_func)();
struct pke_test_group;
typedef struct pke_test_group *(pke_test_get_group)();
typedef void (pke_test_group_setup());
typedef void (pke_test_group_teardown());
typedef void (pke_test_setup());
typedef void (pke_test_teardown());
struct pke_test {
const char *title;
pke_test_func *func;
int expected_result;
};
struct pke_test_group {
const char *title;
pke_test_group_setup *group_setup;
pke_test_group_teardown *group_teardown;
pke_test_setup *test_setup;
pke_test_teardown *test_teardown;
struct pke_test *tests;
uint32_t n_tests;
};
#define PKE_TEST_ASSERT(condition, index) if (!(condition)) { return ++index; } else { ++index; }
#endif /* PKE_PKE_TEST_TYPES_H */
|