From 24c8bcfe7f76b20124e2862ea050f815c0f768e7 Mon Sep 17 00:00:00 2001 From: tlatorre Date: Tue, 14 Aug 2018 10:08:27 -0500 Subject: move everything to src directory --- src/test-zebra.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/test-zebra.c (limited to 'src/test-zebra.c') diff --git a/src/test-zebra.c b/src/test-zebra.c new file mode 100644 index 0000000..1d9b203 --- /dev/null +++ b/src/test-zebra.c @@ -0,0 +1,69 @@ +#include "zebra.h" +#include +#include "Record_Info.h" + +typedef int testFunction(char *err); + +int test_zdab(char *err) +{ + int rv; + bank b; + int nzdabs = 0; + + zebraFile *z = zebra_open("Muons.zdab"); + + while (1) { + rv = next_bank(z, &b); + + if (rv == -1) { + sprintf(err, "error getting bank: %s\n", zebra_err); + goto err; + } else if (rv == 1) { + break; + } + + if (b.name == ZDAB_RECORD) nzdabs += 1; + } + + if (nzdabs != 5) { + sprintf(err, "expected %i zdab records but got %i", 5, nzdabs); + goto err; + } + + zebra_close(z); + + return 0; + +err: + zebra_close(z); + + return -1; +} + +struct tests { + testFunction *test; + char *name; +} tests[] = { + {test_zdab, "test_zdab"} +}; + +int main(int argc, char **argv) +{ + int i; + char err[256]; + int retval = 0; + struct tests test; + + for (i = 0; i < sizeof(tests)/sizeof(struct tests); i++) { + test = tests[i]; + + if (!test.test(err)) { + printf("[\033[92mok\033[0m] %s\n", test.name); + } else { + printf("[\033[91mfail\033[0m] %s: %s\n", test.name, err); + retval = 1; + } + } + + return retval; +} -- cgit