"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Tracey Emery <tracey@traceyemery.net>
Subject:
Re: quiet regress test output by default
To:
gameoftrees@openbsd.org
Date:
Fri, 7 Aug 2020 14:38:08 -0600

Download raw body.

Thread
On Tue, Aug 04, 2020 at 01:30:59PM +0200, Stefan Sperling wrote:
> A lot of tests have accumulated over time and because each test name is
> printed by 'make regress' it has become a bit hard to judge test results
> at a glance.
> 
> The patch below adds a -q option to all test programs and scripts and
> uses this to make the output of 'make regress' quiet by default.
> When tests are run individually the current default output remains.
> 
> A full test run now looks as shown below:
> 
> ok?

Yeah, I like that. ok here.

> 
> diff 6d7260fd5af3b577d020bdbcb038b6c245216d5e /home/stsp/src/got
> blob - 0f29c0ec552874fbfbdf266c710410d5726598aa
> file + regress/cmdline/Makefile
> --- regress/cmdline/Makefile
> +++ regress/cmdline/Makefile
> @@ -4,78 +4,78 @@ REGRESS_TARGETS=checkout update status log add rm diff
>  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>
> blob - 789676b33649267773f4b3b3f09800cc68d7bb1b
> file + regress/cmdline/add.sh
> --- regress/cmdline/add.sh
> +++ 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
> blob - 9784f978ae60d478844d4cb437e1bb1a6113a07e
> file + regress/cmdline/backout.sh
> --- regress/cmdline/backout.sh
> +++ 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
> blob - 171849c46606421d957f9db7406193faf834319f
> file + regress/cmdline/blame.sh
> --- regress/cmdline/blame.sh
> +++ 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
> blob - c0793257149f648178c2a6dba7b0784645c26091
> file + regress/cmdline/branch.sh
> --- regress/cmdline/branch.sh
> +++ 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
> blob - 57a5971b240539d837c4ce91d72ff249c5e70bee
> file + regress/cmdline/cat.sh
> --- regress/cmdline/cat.sh
> +++ 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
> blob - 2ca82b6e47ed2d8f5e0de764be0ee241eb36cba3
> file + regress/cmdline/checkout.sh
> --- regress/cmdline/checkout.sh
> +++ 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
> blob - 95862835bab2b3bd688acdbf129886876cf210ec
> file + regress/cmdline/cherrypick.sh
> --- regress/cmdline/cherrypick.sh
> +++ regress/cmdline/cherrypick.sh
> @@ -779,6 +779,7 @@ function test_cherrypick_with_path_prefix_and_empty_tr
>  	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
> blob - e0ab0090ca236ade184a5727ebfd9842876870a0
> file + regress/cmdline/clone.sh
> --- regress/cmdline/clone.sh
> +++ 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
> blob - 5e1cf69b0f453b136cd17913c1199ce2641b47d8
> file + regress/cmdline/commit.sh
> --- regress/cmdline/commit.sh
> +++ 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
> blob - bc744fcb7fa87573ecc329d19d9b5140d79d7444
> file + regress/cmdline/common.sh
> --- regress/cmdline/common.sh
> +++ 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"
> blob - dbc39580319a7e28e9adc23ded3e53d643d3d6e0
> file + regress/cmdline/diff.sh
> --- regress/cmdline/diff.sh
> +++ 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
> blob - 8d18f4cc109ac898d975c83a67497a64dd743205
> file + regress/cmdline/fetch.sh
> --- regress/cmdline/fetch.sh
> +++ 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
> blob - a2bae29b0a70794309a14b5440419d30c4ff9cc0
> file + regress/cmdline/histedit.sh
> --- regress/cmdline/histedit.sh
> +++ 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
> blob - 82df005b32ffe2f974cea0f4b8d19ac3638ce010
> file + regress/cmdline/import.sh
> --- regress/cmdline/import.sh
> +++ 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
> blob - 5c925e2030f9d146a0442dce5449d33e751b11f6
> file + regress/cmdline/integrate.sh
> --- regress/cmdline/integrate.sh
> +++ 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
> blob - 6f9463fae57dbf5ce1d3fc5565e0e61424794051
> file + regress/cmdline/log.sh
> --- regress/cmdline/log.sh
> +++ 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
> blob - e54de3f2dd29851f2675c480f96c1061d6e4df17
> file + regress/cmdline/rebase.sh
> --- regress/cmdline/rebase.sh
> +++ 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
> blob - 94ee8dae3a4f0d0e662bbb772531e3f027ee28ab
> file + regress/cmdline/ref.sh
> --- regress/cmdline/ref.sh
> +++ 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
> blob - 0ee9bb50011d761f484a2b1996a32492bebab27e
> file + regress/cmdline/revert.sh
> --- regress/cmdline/revert.sh
> +++ 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
> blob - 2ecf3848716083ed82686978dfb7da32ea4ea299
> file + regress/cmdline/rm.sh
> --- regress/cmdline/rm.sh
> +++ 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
> blob - 21af58910aa46d20189bd009ad4c9a6bf02d4453
> file + regress/cmdline/stage.sh
> --- regress/cmdline/stage.sh
> +++ 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
> blob - d510c15f15bfe869139ef654fac21eb2100b2a51
> file + regress/cmdline/status.sh
> --- regress/cmdline/status.sh
> +++ 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
> blob - ca67103ac0f21f2ca6b3ded997d5bb8d02df01d2
> file + regress/cmdline/tag.sh
> --- regress/cmdline/tag.sh
> +++ 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
> blob - 44be74f368edca7e5c51454b4911ab4fc3a71465
> file + regress/cmdline/tree.sh
> --- regress/cmdline/tree.sh
> +++ 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
> blob - 3cd20d37557eceb704929d98cb9c43eab91e88eb
> file + regress/cmdline/unstage.sh
> --- regress/cmdline/unstage.sh
> +++ 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
> blob - 29f55aa5a7d96f3b060398ff0db5ae16d8e4f3e1
> file + regress/cmdline/update.sh
> --- regress/cmdline/update.sh
> +++ 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
> blob - 6ac1f2f67f65445533f26f7c05bfc15857d311ec
> file + regress/delta/Makefile
> --- regress/delta/Makefile
> +++ regress/delta/Makefile
> @@ -8,4 +8,7 @@ LDADD = -lz
>  
>  NOMAN = yes
>  
> +run-regress-delta_test:
> +	${.OBJDIR}/delta_test -q
> +
>  .include <bsd.regress.mk>
> blob - 0ee8340a74100f52a328596febc5de2ef96554f4
> file + regress/delta/delta_test.c
> --- regress/delta/delta_test.c
> +++ 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;
>  
> -	if (argc != 1) {
> -		fprintf(stderr, "usage: delta_test [REPO_PATH]\n");
> +	while ((ch = getopt(argc, argv, "q")) != -1) {
> +		switch (ch) {
> +		case 'q':
> +			quiet = 1;
> +			break;
> +		default:
> +			usage();
> +			return 1;
> +		}
> +	}
> +
> +	argc -= optind;
> +	argv += optind;
> +
> +	if (argc != 0) {
> +		usage();
>  		return 1;
>  	}
>  
> blob - 94a84612acbddadb06374e6a4344fe42b4b414f2
> file + regress/fetch/Makefile
> --- regress/fetch/Makefile
> +++ regress/fetch/Makefile
> @@ -11,4 +11,7 @@ LDADD = -lutil -lz
>  
>  NOMAN = yes
>  
> +run-regress-fetch_test:
> +	${.OBJDIR}/fetch_test -q
> +
>  .include <bsd.regress.mk>
> blob - 1d4429c2303caf6a1a577319457466d945db73ed
> file + regress/fetch/fetch_test.c
> --- regress/fetch/fetch_test.c
> +++ 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();
> blob - c668822fccf1c73ab7e8e47eec5a14f547680191
> file + regress/idset/Makefile
> --- regress/idset/Makefile
> +++ regress/idset/Makefile
> @@ -9,4 +9,7 @@ LDADD = -lutil -lz
>  
>  NOMAN = yes
>  
> +run-regress-idset_test:
> +	${.OBJDIR}/idset_test -q
> +
>  .include <bsd.regress.mk>
> blob - ba2b42bdfcb5a8abcf06df94f35d91f85ca419cb
> file + regress/idset/idset_test.c
> --- regress/idset/idset_test.c
> +++ 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();
> blob - ebb3acb5a444722ac27006125494c5877a9e4ae9
> file + regress/path/Makefile
> --- regress/path/Makefile
> +++ regress/path/Makefile
> @@ -8,4 +8,7 @@ LDADD = -lutil -lz
>  
>  NOMAN = yes
>  
> +run-regress-path_test:
> +	${.OBJDIR}/path_test -q
> +
>  .include <bsd.regress.mk>
> blob - 07e0baa80ab15cf50861022e1fc478bf14075a7a
> file + regress/path/path_test.c
> --- regress/path/path_test.c
> +++ 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();

-- 

Tracey Emery