Commit | Line | Data |
---|---|---|
b8b0e1ee TK |
1 | /* |
2 | * fio unittest | |
3 | * Copyright (C) 2018 Tomohiro Kusumi <kusumi.tomohiro@osnexus.com> | |
4 | */ | |
5 | ||
6 | #include <stdio.h> | |
7 | #include <stdlib.h> | |
8 | ||
9 | #include "./unittest.h" | |
10 | ||
11 | CU_ErrorCode fio_unittest_add_suite(const char *name, CU_InitializeFunc initfn, | |
12 | CU_CleanupFunc cleanfn, struct fio_unittest_entry *tvec) | |
13 | { | |
14 | CU_pSuite pSuite; | |
15 | struct fio_unittest_entry *t; | |
16 | ||
17 | pSuite = CU_add_suite(name, initfn, cleanfn); | |
18 | if (!pSuite) { | |
19 | CU_cleanup_registry(); | |
20 | return CU_get_error(); | |
21 | } | |
22 | ||
23 | t = tvec; | |
24 | while (t && t->name) { | |
25 | if (!CU_add_test(pSuite, t->name, t->fn)) { | |
26 | CU_cleanup_registry(); | |
27 | return CU_get_error(); | |
28 | } | |
29 | t++; | |
30 | } | |
31 | ||
32 | return CUE_SUCCESS; | |
33 | } | |
34 | ||
35 | static void fio_unittest_register(CU_ErrorCode (*fn)(void)) | |
36 | { | |
37 | if (fn && fn() != CUE_SUCCESS) { | |
38 | fprintf(stderr, "%s\n", CU_get_error_msg()); | |
39 | exit(1); | |
40 | } | |
41 | } | |
42 | ||
43 | int main(void) | |
44 | { | |
45 | if (CU_initialize_registry() != CUE_SUCCESS) { | |
46 | fprintf(stderr, "%s\n", CU_get_error_msg()); | |
47 | exit(1); | |
48 | } | |
49 | ||
e37155ef | 50 | fio_unittest_register(fio_unittest_lib_memalign); |
53916bbd | 51 | fio_unittest_register(fio_unittest_lib_num2str); |
ce875031 | 52 | fio_unittest_register(fio_unittest_lib_strntol); |
cdcd7e99 | 53 | fio_unittest_register(fio_unittest_oslib_strlcat); |
2f84d0c7 | 54 | fio_unittest_register(fio_unittest_oslib_strndup); |
d2292c7d | 55 | fio_unittest_register(fio_unittest_oslib_strcasestr); |
4d3c2cc5 | 56 | fio_unittest_register(fio_unittest_oslib_strsep); |
b8b0e1ee TK |
57 | |
58 | CU_basic_set_mode(CU_BRM_VERBOSE); | |
59 | CU_basic_run_tests(); | |
60 | CU_cleanup_registry(); | |
61 | ||
62 | return CU_get_error(); | |
63 | } |