diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-08-14 10:08:27 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-08-14 10:08:27 -0500 |
commit | 24c8bcfe7f76b20124e2862ea050f815c0f768e7 (patch) | |
tree | e5bdbd638a2c7f38f1c094cc9e95cbdfe05b9481 /src/test-zebra.c | |
parent | 0b7f199c0d93074484ea580504485a32dc29f5e2 (diff) | |
download | sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.gz sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.bz2 sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.zip |
move everything to src directory
Diffstat (limited to 'src/test-zebra.c')
-rw-r--r-- | src/test-zebra.c | 69 |
1 files changed, 69 insertions, 0 deletions
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 <stdio.h> +#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; +} |