Commit 7fb414ae4d46ebdaeff458477ba801f9ad5853c4

Stefan Sperling 2020-08-08T07:34:47

add a -q option to tests for quiet output and use it for 'make regress' Previous default output remains when test cases are run individually. ok tracey

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
diff --git a/regress/cmdline/Makefile b/regress/cmdline/Makefile
index 0f29c0e..81d463f 100644
--- a/regress/cmdline/Makefile
+++ b/regress/cmdline/Makefile
@@ -4,78 +4,78 @@ REGRESS_TARGETS=checkout update status log add rm diff blame branch tag \
 NOOBJ=Yes
 
 checkout:
-	./checkout.sh
+	./checkout.sh -q
 
 update:
-	./update.sh
+	./update.sh -q
 
 status:
-	./status.sh
+	./status.sh -q
 
 log:
-	./log.sh
+	./log.sh -q
 
 add:
-	./add.sh
+	./add.sh -q
 
 rm:
-	./rm.sh
+	./rm.sh -q
 
 diff:
-	./diff.sh
+	./diff.sh -q
 
 blame:
-	./blame.sh
+	./blame.sh -q
 
 branch:
-	./branch.sh
+	./branch.sh -q
 
 tag:
-	./tag.sh
+	./tag.sh -q
 
 ref:
-	./ref.sh
+	./ref.sh -q
 
 commit:
-	./commit.sh
+	./commit.sh -q
 
 revert:
-	./revert.sh
+	./revert.sh -q
 
 cherrypick:
-	./cherrypick.sh
+	./cherrypick.sh -q
 
 backout:
-	./backout.sh
+	./backout.sh -q
 
 rebase:
-	./rebase.sh
+	./rebase.sh -q
 
 import:
-	./import.sh
+	./import.sh -q
 
 histedit:
-	./histedit.sh
+	./histedit.sh -q
 
 integrate:
-	./integrate.sh
+	./integrate.sh -q
 
 stage:
-	./stage.sh
+	./stage.sh -q
 
 unstage:
-	./unstage.sh
+	./unstage.sh -q
 
 cat:
-	./cat.sh
+	./cat.sh -q
 
 clone:
-	./clone.sh
+	./clone.sh -q
 
 fetch:
-	./fetch.sh
+	./fetch.sh -q
 
 tree:
-	./tree.sh
+	./tree.sh -q
 
 .include <bsd.regress.mk>
diff --git a/regress/cmdline/add.sh b/regress/cmdline/add.sh
index 789676b..979b689 100755
--- a/regress/cmdline/add.sh
+++ b/regress/cmdline/add.sh
@@ -361,6 +361,7 @@ function test_add_symlink {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_add_basic
 run_test test_double_add
 run_test test_add_multiple
diff --git a/regress/cmdline/backout.sh b/regress/cmdline/backout.sh
index 9784f97..cb4a9f9 100755
--- a/regress/cmdline/backout.sh
+++ b/regress/cmdline/backout.sh
@@ -202,7 +202,7 @@ function test_backout_next_commit {
 	test_done "$testroot" "$ret"
 }
 
-
+test_parseargs "$@"
 run_test test_backout_basic
 run_test test_backout_edits_for_file_since_deleted
 run_test test_backout_next_commit
diff --git a/regress/cmdline/blame.sh b/regress/cmdline/blame.sh
index 171849c..892fc73 100755
--- a/regress/cmdline/blame.sh
+++ b/regress/cmdline/blame.sh
@@ -882,6 +882,7 @@ function test_blame_symlink {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_blame_basic
 run_test test_blame_tag
 run_test test_blame_file_single_line
diff --git a/regress/cmdline/branch.sh b/regress/cmdline/branch.sh
index c079325..91a36a5 100755
--- a/regress/cmdline/branch.sh
+++ b/regress/cmdline/branch.sh
@@ -443,6 +443,7 @@ function test_branch_show {
 
 }
 
+test_parseargs "$@"
 run_test test_branch_create
 run_test test_branch_list
 run_test test_branch_delete
diff --git a/regress/cmdline/cat.sh b/regress/cmdline/cat.sh
index 57a5971..732a0c8 100755
--- a/regress/cmdline/cat.sh
+++ b/regress/cmdline/cat.sh
@@ -335,6 +335,7 @@ function test_cat_symlink {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_cat_basic
 run_test test_cat_path
 run_test test_cat_submodule
diff --git a/regress/cmdline/checkout.sh b/regress/cmdline/checkout.sh
index 2ca82b6..d5bdc80 100755
--- a/regress/cmdline/checkout.sh
+++ b/regress/cmdline/checkout.sh
@@ -756,6 +756,7 @@ function test_checkout_symlink_relative_wtpath {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_checkout_basic
 run_test test_checkout_dir_exists
 run_test test_checkout_dir_not_empty
diff --git a/regress/cmdline/cherrypick.sh b/regress/cmdline/cherrypick.sh
index 9586283..9b76a9b 100755
--- a/regress/cmdline/cherrypick.sh
+++ b/regress/cmdline/cherrypick.sh
@@ -779,6 +779,7 @@ function test_cherrypick_with_path_prefix_and_empty_tree {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_cherrypick_basic
 run_test test_cherrypick_root_commit
 run_test test_cherrypick_into_work_tree_with_conflicts
diff --git a/regress/cmdline/clone.sh b/regress/cmdline/clone.sh
index e0ab009..140179d 100755
--- a/regress/cmdline/clone.sh
+++ b/regress/cmdline/clone.sh
@@ -373,6 +373,7 @@ function test_clone_reference_mirror {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_clone_basic
 run_test test_clone_list
 run_test test_clone_branch
diff --git a/regress/cmdline/commit.sh b/regress/cmdline/commit.sh
index 5e1cf69..34abaa9 100755
--- a/regress/cmdline/commit.sh
+++ b/regress/cmdline/commit.sh
@@ -1280,6 +1280,7 @@ function test_commit_fix_bad_symlink {
 	test_done "$testroot" "0"
 }
 
+test_parseargs "$@"
 run_test test_commit_basic
 run_test test_commit_new_subdir
 run_test test_commit_subdir
diff --git a/regress/cmdline/common.sh b/regress/cmdline/common.sh
index bc744fc..17295f7 100644
--- a/regress/cmdline/common.sh
+++ b/regress/cmdline/common.sh
@@ -197,10 +197,32 @@ function test_cleanup
 	rm -rf "$testroot"
 }
 
+function test_parseargs
+{
+	args=`getopt q $*`
+	if [ $? -ne 0 ]; then
+		echo "Supported options:"
+		echo "  -q: quiet mode"
+		exit 2
+	fi
+	set -- $args
+	while [ $# -ne 0 ]; do
+		case "$1"
+		in
+			-q)
+			   export GOT_TEST_QUIET=1; shift;;
+			--)
+			   shift; break;;
+		esac
+	done
+}
+
 function run_test
 {
 	testfunc="$1"
-	echo -n "$testfunc "
+	if [ -z "$GOT_TEST_QUIET" ]; then
+		echo -n "$testfunc "
+	fi
 	$testfunc
 }
 
@@ -210,7 +232,9 @@ function test_done
 	local result="$2"
 	if [ "$result" == "0" ]; then
 		test_cleanup "$testroot" || return 1
-		echo "ok"
+		if [ -z "$GOT_TEST_QUIET" ]; then
+			echo "ok"
+		fi
 	elif echo "$result" | grep -q "^xfail"; then
 		# expected test failure; test reproduces an unfixed bug
 		echo "$result"
diff --git a/regress/cmdline/diff.sh b/regress/cmdline/diff.sh
index dbc3958..5a961c2 100755
--- a/regress/cmdline/diff.sh
+++ b/regress/cmdline/diff.sh
@@ -583,6 +583,7 @@ function test_diff_symlinks_in_repo {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_diff_basic
 run_test test_diff_shows_conflict
 run_test test_diff_tag
diff --git a/regress/cmdline/fetch.sh b/regress/cmdline/fetch.sh
index 8d18f4c..22fde4a 100755
--- a/regress/cmdline/fetch.sh
+++ b/regress/cmdline/fetch.sh
@@ -948,6 +948,7 @@ function test_fetch_headref_deleted_locally {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_fetch_basic
 run_test test_fetch_list
 run_test test_fetch_branch
diff --git a/regress/cmdline/histedit.sh b/regress/cmdline/histedit.sh
index a2bae29..5fe2eaa 100755
--- a/regress/cmdline/histedit.sh
+++ b/regress/cmdline/histedit.sh
@@ -1340,6 +1340,7 @@ function test_histedit_duplicate_commit_in_script {
 
 }
 
+test_parseargs "$@"
 run_test test_histedit_no_op
 run_test test_histedit_swap
 run_test test_histedit_drop
diff --git a/regress/cmdline/import.sh b/regress/cmdline/import.sh
index 82df005..032f409 100755
--- a/regress/cmdline/import.sh
+++ b/regress/cmdline/import.sh
@@ -291,6 +291,7 @@ function test_import_symlink {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_import_basic
 run_test test_import_requires_new_branch
 run_test test_import_ignores
diff --git a/regress/cmdline/integrate.sh b/regress/cmdline/integrate.sh
index 5c925e2..def5dd9 100755
--- a/regress/cmdline/integrate.sh
+++ b/regress/cmdline/integrate.sh
@@ -385,6 +385,7 @@ function test_integrate_backwards_in_time {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_integrate_basic
 run_test test_integrate_requires_rebase_first
 run_test test_integrate_path_prefix
diff --git a/regress/cmdline/log.sh b/regress/cmdline/log.sh
index 6f9463f..4bfea8b 100755
--- a/regress/cmdline/log.sh
+++ b/regress/cmdline/log.sh
@@ -792,6 +792,7 @@ function test_log_submodule {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_log_in_repo
 run_test test_log_in_bare_repo
 run_test test_log_in_worktree
diff --git a/regress/cmdline/rebase.sh b/regress/cmdline/rebase.sh
index e54de3f..c8ab6b8 100755
--- a/regress/cmdline/rebase.sh
+++ b/regress/cmdline/rebase.sh
@@ -1270,6 +1270,7 @@ function test_rebase_rm_add_rm_file {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_rebase_basic
 run_test test_rebase_ancestry_check
 run_test test_rebase_continue
diff --git a/regress/cmdline/ref.sh b/regress/cmdline/ref.sh
index 94ee8da..6e27b4b 100755
--- a/regress/cmdline/ref.sh
+++ b/regress/cmdline/ref.sh
@@ -384,6 +384,7 @@ function test_ref_list {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_ref_create
 run_test test_ref_delete
 run_test test_ref_list
diff --git a/regress/cmdline/revert.sh b/regress/cmdline/revert.sh
index 0ee9bb5..94dd9d8 100755
--- a/regress/cmdline/revert.sh
+++ b/regress/cmdline/revert.sh
@@ -1483,6 +1483,7 @@ EOF
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_revert_basic
 run_test test_revert_rm
 run_test test_revert_add
diff --git a/regress/cmdline/rm.sh b/regress/cmdline/rm.sh
index 2ecf384..73d86ed 100755
--- a/regress/cmdline/rm.sh
+++ b/regress/cmdline/rm.sh
@@ -438,6 +438,7 @@ function test_rm_symlink {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_rm_basic
 run_test test_rm_with_local_mods
 run_test test_double_rm
diff --git a/regress/cmdline/stage.sh b/regress/cmdline/stage.sh
index 21af589..422f128 100755
--- a/regress/cmdline/stage.sh
+++ b/regress/cmdline/stage.sh
@@ -2958,6 +2958,7 @@ EOF
 	test_done "$testroot" "0"
 }
 
+test_parseargs "$@"
 run_test test_stage_basic
 run_test test_stage_no_changes
 run_test test_stage_unversioned
diff --git a/regress/cmdline/status.sh b/regress/cmdline/status.sh
index d510c15..57f0661 100755
--- a/regress/cmdline/status.sh
+++ b/regress/cmdline/status.sh
@@ -634,6 +634,7 @@ function test_status_gitignore {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_status_basic
 run_test test_status_subdir_no_mods
 run_test test_status_subdir_no_mods2
diff --git a/regress/cmdline/tag.sh b/regress/cmdline/tag.sh
index ca67103..4ce096b 100755
--- a/regress/cmdline/tag.sh
+++ b/regress/cmdline/tag.sh
@@ -217,6 +217,7 @@ function test_tag_list_lightweight {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_tag_create
 run_test test_tag_list
 run_test test_tag_list_lightweight
diff --git a/regress/cmdline/tree.sh b/regress/cmdline/tree.sh
index 44be74f..89a7c51 100755
--- a/regress/cmdline/tree.sh
+++ b/regress/cmdline/tree.sh
@@ -135,6 +135,7 @@ function test_tree_submodule_of_same_repo {
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_tree_basic
 run_test test_tree_branch
 run_test test_tree_submodule
diff --git a/regress/cmdline/unstage.sh b/regress/cmdline/unstage.sh
index 3cd20d3..6ab66e9 100755
--- a/regress/cmdline/unstage.sh
+++ b/regress/cmdline/unstage.sh
@@ -1417,6 +1417,7 @@ EOF
 	test_done "$testroot" "$ret"
 }
 
+test_parseargs "$@"
 run_test test_unstage_basic
 run_test test_unstage_unversioned
 run_test test_unstage_nonexistent
diff --git a/regress/cmdline/update.sh b/regress/cmdline/update.sh
index 29f55aa..217f592 100755
--- a/regress/cmdline/update.sh
+++ b/regress/cmdline/update.sh
@@ -2254,6 +2254,7 @@ function test_update_symlink_conflicts {
 
 }
 
+test_parseargs "$@"
 run_test test_update_basic
 run_test test_update_adds_file
 run_test test_update_deletes_file
diff --git a/regress/delta/Makefile b/regress/delta/Makefile
index 6ac1f2f..4ce5ebd 100644
--- a/regress/delta/Makefile
+++ b/regress/delta/Makefile
@@ -8,4 +8,7 @@ LDADD = -lz
 
 NOMAN = yes
 
+run-regress-delta_test:
+	${.OBJDIR}/delta_test -q
+
 .include <bsd.regress.mk>
diff --git a/regress/delta/delta_test.c b/regress/delta/delta_test.c
index 0ee8340..7d362ee 100644
--- a/regress/delta/delta_test.c
+++ b/regress/delta/delta_test.c
@@ -21,6 +21,7 @@
 #include <string.h>
 #include <err.h>
 #include <unistd.h>
+#include <getopt.h>
 
 #include "got_error.h"
 #include "got_opentemp.h"
@@ -117,19 +118,42 @@ delta_apply(void)
 	return (err == NULL);
 }
 
+static int quiet;
+
 #define RUN_TEST(expr, name) \
 	{ test_ok = (expr);  \
-	printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
+	if (!quiet) printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
 	failure = (failure || !test_ok); }
 
+static void
+usage(void)
+{
+	fprintf(stderr, "usage: delta_test [-q]\n");
+}
+
 int
-main(int argc, const char *argv[])
+main(int argc, char *argv[])
 {
 	int test_ok;
 	int failure = 0;
+	int ch;
+
+	while ((ch = getopt(argc, argv, "q")) != -1) {
+		switch (ch) {
+		case 'q':
+			quiet = 1;
+			break;
+		default:
+			usage();
+			return 1;
+		}
+	}
+
+	argc -= optind;
+	argv += optind;
 
-	if (argc != 1) {
-		fprintf(stderr, "usage: delta_test [REPO_PATH]\n");
+	if (argc != 0) {
+		usage();
 		return 1;
 	}
 
diff --git a/regress/fetch/Makefile b/regress/fetch/Makefile
index 94a8461..9834aee 100644
--- a/regress/fetch/Makefile
+++ b/regress/fetch/Makefile
@@ -11,4 +11,7 @@ LDADD = -lutil -lz
 
 NOMAN = yes
 
+run-regress-fetch_test:
+	${.OBJDIR}/fetch_test -q
+
 .include <bsd.regress.mk>
diff --git a/regress/fetch/fetch_test.c b/regress/fetch/fetch_test.c
index 1d4429c..8f65621 100644
--- a/regress/fetch/fetch_test.c
+++ b/regress/fetch/fetch_test.c
@@ -42,6 +42,7 @@
 #endif
 
 static int verbose;
+static int quiet;
 
 void
 test_printf(char *fmt, ...)
@@ -237,13 +238,13 @@ fetch_parse_uri(void)
 
 #define RUN_TEST(expr, name) \
 	{ test_ok = (expr);  \
-	printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
+	if (!quiet) printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
 	failure = (failure || !test_ok); }
 
 void
 usage(void)
 {
-	fprintf(stderr, "usage: fetch_test [-v]\n");
+	fprintf(stderr, "usage: fetch_test [-v] [-q]\n");
 }
 
 int
@@ -257,10 +258,15 @@ main(int argc, char *argv[])
 		err(1, "pledge");
 #endif
 
-	while ((ch = getopt(argc, argv, "v")) != -1) {
+	while ((ch = getopt(argc, argv, "vq")) != -1) {
 		switch (ch) {
 		case 'v':
 			verbose = 1;
+			quiet = 0;
+			break;
+		case 'q':
+			quiet = 1;
+			verbose = 0;
 			break;
 		default:
 			usage();
diff --git a/regress/idset/Makefile b/regress/idset/Makefile
index c668822..6dc6aa8 100644
--- a/regress/idset/Makefile
+++ b/regress/idset/Makefile
@@ -9,4 +9,7 @@ LDADD = -lutil -lz
 
 NOMAN = yes
 
+run-regress-idset_test:
+	${.OBJDIR}/idset_test -q
+
 .include <bsd.regress.mk>
diff --git a/regress/idset/idset_test.c b/regress/idset/idset_test.c
index ba2b42b..64c131e 100644
--- a/regress/idset/idset_test.c
+++ b/regress/idset/idset_test.c
@@ -36,6 +36,7 @@
 #include "got_lib_object.h"
 
 static int verbose;
+static int quiet;
 
 void
 test_printf(char *fmt, ...)
@@ -169,13 +170,13 @@ done:
 
 #define RUN_TEST(expr, name) \
 	{ test_ok = (expr);  \
-	printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
+	if (!quiet) printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
 	failure = (failure || !test_ok); }
 
 void
 usage(void)
 {
-	fprintf(stderr, "usage: id_test [-v]\n");
+	fprintf(stderr, "usage: id_test [-v] [-q]\n");
 }
 
 int
@@ -189,10 +190,15 @@ main(int argc, char *argv[])
 		err(1, "pledge");
 #endif
 
-	while ((ch = getopt(argc, argv, "v")) != -1) {
+	while ((ch = getopt(argc, argv, "vq")) != -1) {
 		switch (ch) {
 		case 'v':
 			verbose = 1;
+			quiet = 0;
+			break;
+		case 'q':
+			quiet = 1;
+			verbose = 0;
 			break;
 		default:
 			usage();
diff --git a/regress/path/Makefile b/regress/path/Makefile
index ebb3acb..2ea8b58 100644
--- a/regress/path/Makefile
+++ b/regress/path/Makefile
@@ -8,4 +8,7 @@ LDADD = -lutil -lz
 
 NOMAN = yes
 
+run-regress-path_test:
+	${.OBJDIR}/path_test -q
+
 .include <bsd.regress.mk>
diff --git a/regress/path/path_test.c b/regress/path/path_test.c
index 07e0baa..9e6ab48 100644
--- a/regress/path/path_test.c
+++ b/regress/path/path_test.c
@@ -31,6 +31,7 @@
 #endif
 
 static int verbose;
+static int quiet;
 
 void
 test_printf(char *fmt, ...)
@@ -207,13 +208,13 @@ path_list_reverse_input(void)
 
 #define RUN_TEST(expr, name) \
 	{ test_ok = (expr);  \
-	printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
+	if (!quiet) printf("test_%s %s\n", (name), test_ok ? "ok" : "failed"); \
 	failure = (failure || !test_ok); }
 
 void
 usage(void)
 {
-	fprintf(stderr, "usage: path_test [-v]\n");
+	fprintf(stderr, "usage: path_test [-v] [-q]\n");
 }
 
 int
@@ -227,10 +228,15 @@ main(int argc, char *argv[])
 		err(1, "pledge");
 #endif
 
-	while ((ch = getopt(argc, argv, "v")) != -1) {
+	while ((ch = getopt(argc, argv, "vq")) != -1) {
 		switch (ch) {
 		case 'v':
 			verbose = 1;
+			quiet = 0;
+			break;
+		case 'q':
+			quiet = 1;
+			verbose = 0;
 			break;
 		default:
 			usage();