summaryrefslogtreecommitdiffstats
path: root/lib/tests/test_opts2.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tests/test_opts2.c')
-rw-r--r--lib/tests/test_opts2.c69
1 files changed, 41 insertions, 28 deletions
diff --git a/lib/tests/test_opts2.c b/lib/tests/test_opts2.c
index 23496617..d1b0aca3 100644
--- a/lib/tests/test_opts2.c
+++ b/lib/tests/test_opts2.c
@@ -30,16 +30,18 @@ void my_free(int *argc, char **newargv, char **argv) {
30 printf("'%s' ", newargv[i]); 30 printf("'%s' ", newargv[i]);
31 /* Stop freeing when we get to the start of the original array */ 31 /* Stop freeing when we get to the start of the original array */
32 if (freeflag) { 32 if (freeflag) {
33 if (newargv[i] == argv[1]) 33 if (newargv[i] == argv[1]) {
34 freeflag = 0; 34 freeflag = 0;
35 else 35 } else {
36 free(newargv[i]); 36 free(newargv[i]);
37 }
37 } 38 }
38 } 39 }
39 printf("\n"); 40 printf("\n");
40 /* Free only if it's a different array */ 41 /* Free only if it's a different array */
41 if (newargv != argv) 42 if (newargv != argv) {
42 free(newargv); 43 free(newargv);
44 }
43 *argc = 0; 45 *argc = 0;
44} 46}
45 47
@@ -51,8 +53,9 @@ int array_diff(int i1, char **a1, int i2, char **a2) {
51 return 0; 53 return 0;
52 } 54 }
53 for (i = 0; i <= i1; i++) { 55 for (i = 0; i <= i1; i++) {
54 if (a1[i] == NULL && a2[i] == NULL) 56 if (a1[i] == NULL && a2[i] == NULL) {
55 continue; 57 continue;
58 }
56 if (a1[i] == NULL || a2[i] == NULL) { 59 if (a1[i] == NULL || a2[i] == NULL) {
57 printf(" Argument # %i null in one array!\n", i); 60 printf(" Argument # %i null in one array!\n", i);
58 return 0; 61 return 0;
@@ -90,7 +93,8 @@ int main(int argc, char **argv) {
90 } 93 }
91 94
92 { 95 {
93 char *argv_test[] = {"prog_name", "arg1", "--extra-opts=section1", "--arg3", "val2", (char *)NULL}; 96 char *argv_test[] = {"prog_name", "arg1", "--extra-opts=section1",
97 "--arg3", "val2", (char *)NULL};
94 argc_test = 5; 98 argc_test = 5;
95 char *argv_known[] = {"prog_name", "--foobar=baz", "arg1", "--arg3", "val2", (char *)NULL}; 99 char *argv_known[] = {"prog_name", "--foobar=baz", "arg1", "--arg3", "val2", (char *)NULL};
96 argv_new = np_extra_opts(&argc_test, argv_test, "check_disk"); 100 argv_new = np_extra_opts(&argc_test, argv_test, "check_disk");
@@ -108,30 +112,39 @@ int main(int argc, char **argv) {
108 } 112 }
109 113
110 { 114 {
111 char *argv_test[] = {"check_tcp", "--extra-opts", "--extra-opts=tcp_long_lines", (char *)NULL}; 115 char *argv_test[] = {"check_tcp", "--extra-opts", "--extra-opts=tcp_long_lines",
116 (char *)NULL};
112 argc_test = 3; 117 argc_test = 3;
113 char *argv_known[] = { 118 char *argv_known[] = {"check_tcp",
114 "check_tcp", 119 "--timeout=10",
115 "--timeout=10", 120 "--escape",
116 "--escape", 121 "--send=Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda "
117 "--send=Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda " 122 "Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
118 "yadda Foo bar BAZ yadda " 123 "yadda Foo bar BAZ yadda "
119 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda " 124 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
120 "yadda Foo bar BAZ " 125 "yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
121 "yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda " 126 "yadda Foo bar BAZ "
122 "yadda yadda Foo bar " 127 "yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda "
123 "BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda", 128 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda "
124 "--expect=Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda " 129 "yadda yadda Foo bar "
125 "yadda Foo bar BAZ yadda " 130 "BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ "
126 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda " 131 "yadda yadda yadda Foo bar BAZ yadda yadda yadda",
127 "yadda Foo bar BAZ " 132 "--expect=Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
128 "yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda " 133 "yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
129 "yadda yadda Foo bar " 134 "yadda Foo bar BAZ yadda "
130 "BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ " 135 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
131 "yadda yadda yadda Foo " 136 "yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda "
132 "bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda", 137 "yadda Foo bar BAZ "
133 "--jail", 138 "yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda "
134 (char *)NULL}; 139 "yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda "
140 "yadda yadda Foo bar "
141 "BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ "
142 "yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ "
143 "yadda yadda yadda Foo "
144 "bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ "
145 "yadda yadda yadda Foo bar BAZ yadda yadda yadda",
146 "--jail",
147 (char *)NULL};
135 argv_new = np_extra_opts(&argc_test, argv_test, "check_tcp"); 148 argv_new = np_extra_opts(&argc_test, argv_test, "check_tcp");
136 ok(array_diff(argc_test, argv_new, 6, argv_known), "Long lines test"); 149 ok(array_diff(argc_test, argv_new, 6, argv_known), "Long lines test");
137 my_free(&argc_test, argv_new, argv_test); 150 my_free(&argc_test, argv_new, argv_test);