filesetup: create zbd_info before jumping to done label
[fio.git] / unittests / unittest.c
CommitLineData
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
11CU_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
35static 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
43int 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}