aboutsummaryrefslogtreecommitdiff
path: root/src/test-zebra.c
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-08-14 10:08:27 -0500
committertlatorre <tlatorre@uchicago.edu>2018-08-14 10:08:27 -0500
commit24c8bcfe7f76b20124e2862ea050f815c0f768e7 (patch)
treee5bdbd638a2c7f38f1c094cc9e95cbdfe05b9481 /src/test-zebra.c
parent0b7f199c0d93074484ea580504485a32dc29f5e2 (diff)
downloadsddm-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.c69
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;
+}