|
@@ -60,6 +60,74 @@ START_TEST (test_argparse_empty_verbose)
|
60
|
60
|
}
|
61
|
61
|
END_TEST
|
62
|
62
|
|
|
63
|
+/*
|
|
64
|
+ * Bad arguments
|
|
65
|
+ */
|
|
66
|
+
|
|
67
|
+START_TEST (test_argparse_bad1)
|
|
68
|
+{
|
|
69
|
+ ttail_t *t;
|
|
70
|
+ char *args[] = {"foo", "--sdfsdf"};
|
|
71
|
+ t = ttail_init(2, args);
|
|
72
|
+ ck_assert(t == NULL);
|
|
73
|
+}
|
|
74
|
+END_TEST
|
|
75
|
+
|
|
76
|
+START_TEST (test_argparse_bad2)
|
|
77
|
+{
|
|
78
|
+ ttail_t *t;
|
|
79
|
+ char *args[] = {"foo", "-x"};
|
|
80
|
+ t = ttail_init(2, args);
|
|
81
|
+ ck_assert(t == NULL);
|
|
82
|
+}
|
|
83
|
+END_TEST
|
|
84
|
+
|
|
85
|
+START_TEST (test_argparse_bad3)
|
|
86
|
+{
|
|
87
|
+ ttail_t *t;
|
|
88
|
+ char *args[] = {"foo", "-p"};
|
|
89
|
+ t = ttail_init(2, args);
|
|
90
|
+ ck_assert(t == NULL);
|
|
91
|
+}
|
|
92
|
+END_TEST
|
|
93
|
+
|
|
94
|
+START_TEST (test_argparse_bad4)
|
|
95
|
+{
|
|
96
|
+ ttail_t *t;
|
|
97
|
+ char *args[] = {"foo", "-f"};
|
|
98
|
+ t = ttail_init(2, args);
|
|
99
|
+ ck_assert(t == NULL);
|
|
100
|
+}
|
|
101
|
+END_TEST
|
|
102
|
+
|
|
103
|
+START_TEST (test_argparse_bad5)
|
|
104
|
+{
|
|
105
|
+ ttail_t *t;
|
|
106
|
+ char *args[] = {"foo", "-d"};
|
|
107
|
+ t = ttail_init(2, args);
|
|
108
|
+ ck_assert(t == NULL);
|
|
109
|
+}
|
|
110
|
+END_TEST
|
|
111
|
+
|
|
112
|
+START_TEST (test_argparse_bad6)
|
|
113
|
+{
|
|
114
|
+ ttail_t *t;
|
|
115
|
+ char *args[] = {"foo", "-m"};
|
|
116
|
+ t = ttail_init(2, args);
|
|
117
|
+ ck_assert(t == NULL);
|
|
118
|
+}
|
|
119
|
+END_TEST
|
|
120
|
+
|
|
121
|
+START_TEST (test_argparse_bad7)
|
|
122
|
+{
|
|
123
|
+ ttail_t *t;
|
|
124
|
+ char *args[] = {"foo", "-l"};
|
|
125
|
+ t = ttail_init(2, args);
|
|
126
|
+ ck_assert(t == NULL);
|
|
127
|
+}
|
|
128
|
+END_TEST
|
|
129
|
+
|
|
130
|
+
|
63
|
131
|
/*
|
64
|
132
|
* file argument parsing
|
65
|
133
|
*/
|
|
@@ -206,12 +274,50 @@ START_TEST (test_argparse_prefix_long)
|
206
|
274
|
}
|
207
|
275
|
END_TEST
|
208
|
276
|
|
|
277
|
+START_TEST (test_argparse_prefix_multiple)
|
|
278
|
+{
|
|
279
|
+ ttail_t *t;
|
|
280
|
+ char *args[] = {"foo", "--re-prefix", "^[^ ]+ ", "-p", "^[ -]+ "};
|
|
281
|
+ t = ttail_init(5, args);
|
|
282
|
+ ck_assert(t == NULL);
|
|
283
|
+}
|
|
284
|
+END_TEST
|
|
285
|
+
|
|
286
|
+START_TEST (test_argparse_fmt_short)
|
|
287
|
+{
|
|
288
|
+ ttail_t *t;
|
|
289
|
+ char *args[] = {"foo", "-f", "%m"};
|
|
290
|
+ t = ttail_init(3, args);
|
|
291
|
+ ck_assert(t != NULL);
|
|
292
|
+}
|
|
293
|
+END_TEST
|
|
294
|
+
|
|
295
|
+START_TEST (test_argparse_fmt_long)
|
|
296
|
+{
|
|
297
|
+ ttail_t *t;
|
|
298
|
+ char *args[] = {"foo", "--date-format", "%m"};
|
|
299
|
+ t = ttail_init(3, args);
|
|
300
|
+ ck_assert(t != NULL);
|
|
301
|
+}
|
|
302
|
+END_TEST
|
|
303
|
+
|
|
304
|
+START_TEST (test_argparse_fmt_multiple)
|
|
305
|
+{
|
|
306
|
+ ttail_t *t;
|
|
307
|
+ char *args[] = {"foo", "-f", "%m", "-f", "%d"};
|
|
308
|
+ t = ttail_init(5, args);
|
|
309
|
+ ck_assert(t == NULL);
|
|
310
|
+}
|
|
311
|
+END_TEST
|
|
312
|
+
|
209
|
313
|
Suite * ttail_init_suite(void)
|
210
|
314
|
{
|
211
|
315
|
Suite *s;
|
212
|
316
|
TCase *tc_argparse_empty;
|
|
317
|
+ TCase *tc_argparse_badarg;
|
213
|
318
|
TCase *tc_argparse_files;
|
214
|
319
|
TCase *tc_argparse_prefix;
|
|
320
|
+ TCase *tc_argparse_fmt;
|
215
|
321
|
|
216
|
322
|
s = suite_create("ttail argument parsing checks");
|
217
|
323
|
|
|
@@ -225,6 +331,15 @@ Suite * ttail_init_suite(void)
|
225
|
331
|
tcase_add_test(tc_argparse_empty, test_argparse_empty_fmt);
|
226
|
332
|
tcase_add_test(tc_argparse_empty, test_argparse_empty_verbose);
|
227
|
333
|
|
|
334
|
+ tc_argparse_badarg = tcase_create("bad arguments parsing");
|
|
335
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad1);
|
|
336
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad2);
|
|
337
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad3);
|
|
338
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad4);
|
|
339
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad5);
|
|
340
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad6);
|
|
341
|
+ tcase_add_test(tc_argparse_badarg, test_argparse_bad7);
|
|
342
|
+
|
228
|
343
|
tc_argparse_files = tcase_create("files options parse");
|
229
|
344
|
tcase_add_checked_fixture(tc_argparse_files,
|
230
|
345
|
setup_fname, teardown_fname);
|
|
@@ -233,12 +348,20 @@ Suite * ttail_init_suite(void)
|
233
|
348
|
tcase_add_test(tc_argparse_files, test_argparse_file_multiple);
|
234
|
349
|
|
235
|
350
|
tc_argparse_prefix = tcase_create("re-prefix arguments parsing");
|
236
|
|
- tcase_add_test(tc_argparse_empty, test_argparse_prefix_short);
|
237
|
|
- tcase_add_test(tc_argparse_empty, test_argparse_prefix_long);
|
|
351
|
+ tcase_add_test(tc_argparse_prefix, test_argparse_prefix_short);
|
|
352
|
+ tcase_add_test(tc_argparse_prefix, test_argparse_prefix_long);
|
|
353
|
+ tcase_add_test(tc_argparse_prefix, test_argparse_prefix_multiple);
|
|
354
|
+
|
|
355
|
+ tc_argparse_fmt = tcase_create("date format arguments parsing");
|
|
356
|
+ tcase_add_test(tc_argparse_fmt, test_argparse_fmt_short);
|
|
357
|
+ tcase_add_test(tc_argparse_fmt, test_argparse_fmt_long);
|
|
358
|
+ tcase_add_test(tc_argparse_fmt, test_argparse_fmt_multiple);
|
238
|
359
|
|
239
|
360
|
suite_add_tcase(s, tc_argparse_empty);
|
|
361
|
+ suite_add_tcase(s, tc_argparse_badarg);
|
240
|
362
|
suite_add_tcase(s, tc_argparse_files);
|
241
|
363
|
suite_add_tcase(s, tc_argparse_prefix);
|
|
364
|
+ suite_add_tcase(s, tc_argparse_fmt);
|
242
|
365
|
return s;
|
243
|
366
|
}
|
244
|
367
|
|