git.fiddlerwoaroof.com
Browse code

more test macros

Greg Wiley authored on 06/04/2017 16:32:50
Showing 4 changed files
... ...
@@ -31,8 +31,9 @@ logging_test: logging_test.c logging.o
31 31
 
32 32
 .PHONY: test
33 33
 test: dual_control_test logging_test
34
-	@./dual_control_test > /dev/null
35
-	@./logging_test > /dev/null
34
+	@./dual_control_test
35
+	@./logging_test
36
+	@echo all tests passed
36 37
 
37 38
 .PHONY: install
38 39
 install: $(MODULEOBJS)
39 40
Binary files a/logging_test and b/logging_test differ
... ...
@@ -6,6 +6,13 @@
6 6
 
7 7
 #include "testutil.h"
8 8
 
9
+#define reset_vars() \
10
+    logged_priority = -1000; \
11
+    close_log_invoked = 0; \
12
+    opened_facility = -1000; \
13
+    const char *opened_program_name = ""; \
14
+    int opened_logopt = -1000; \
15
+
9 16
 int logged_priority = -1000;
10 17
 const char *logged_message = "";
11 18
 void dc_syslog(int priority, const char *message, ...) {
... ...
@@ -29,12 +36,6 @@ void dc_openlog(const char *ident, int logopt, int facility) {
29 36
 
30 37
 int test_log_success() {
31 38
     // given
32
-    opened_facility = -1000;
33
-    opened_program_name = "";
34
-    opened_logopt = -1000;
35
-    logged_priority = -1000;
36
-    logged_message = "";
37
-    close_log_invoked = 0;
38 39
 
39 40
     // when
40 41
     log_success();
... ...
@@ -46,16 +47,14 @@ int test_log_success() {
46 47
     check(close_log_invoked, "log closed");
47 48
     checkstr("pam_dual_control", opened_program_name, "program name");
48 49
     checkstr("dual control succeeded", logged_message, "logged message");
49
-
50 50
     succeed();
51 51
 }
52 52
 
53
+int test_runner() {
54
+    test(test_log_success);
55
+    succeed();
56
+}
53 57
 
54 58
 int main(int numargs, char **args) {
55
-    if(test_log_success()) {
56
-        fprintf(stderr, "logging_test: success!\n");
57
-        return 0;
58
-    } else {
59
-        return 1;
60
-    }
59
+    return !test_runner();
61 60
 }
... ...
@@ -30,6 +30,7 @@
30 30
     }
31 31
 
32 32
 #define succeed() return 1
33
+#define fail() return 0
33 34
 
34 35
 #endif
35 36