All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Felipe Contreras" <felipe.contreras@gmail.com>,
	"Adam Spiers" <git@adamspiers.org>,
	"Thomas Rast" <tr@thomasrast.ch>,
	"Ilya Bobyr" <ilya.bobyr@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 2/8] test-lib tests: split up "write and run" into two functions
Date: Mon, 14 Jun 2021 12:48:08 +0200	[thread overview]
Message-ID: <patch-2.8-9e2715d2e20-20210614T104351Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-0.8-00000000000-20210614T104351Z-avarab@gmail.com>

Refactor the function to write and run tests of the test-lib.sh output
into two functions.

When this was added back in 565b6fa87bb (tests: refactor mechanics of
testing in a sub test-lib, 2012-12-16) there was no reason to do this,
but since we started supporting test arguments in
517cd55fd51 (test-lib: self-test that --verbose works, 2013-06-23)
we've started to write out duplicate tests simply to test different
arguments, now we'll be able to re-use them.

This change doesn't consolidate any of those tests yet, it just makes
it possible to do so. All the changes in t0000-basic.sh are a simple
search-replacement.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/lib-subtest.sh | 39 +++++++++++++++++++------
 t/t0000-basic.sh | 74 ++++++++++++++++++++++++------------------------
 2 files changed, 67 insertions(+), 46 deletions(-)

diff --git a/t/lib-subtest.sh b/t/lib-subtest.sh
index 0c613e00da3..0ece41c0e5f 100644
--- a/t/lib-subtest.sh
+++ b/t/lib-subtest.sh
@@ -1,13 +1,7 @@
-_run_sub_test_lib_test_common () {
-	neg="$1" name="$2" descr="$3" # stdin is the body of the test code
-	shift 3
+write_sub_test_lib_test () {
+	name="$1" descr="$2" # stdin is the body of the test code
 	mkdir "$name" &&
 	(
-		# Pretend we're not running under a test harness, whether we
-		# are or not. The test-lib output depends on the setting of
-		# this variable, so we need a stable setting under which to run
-		# the sub-test.
-		sane_unset HARNESS_ACTIVE &&
 		cd "$name" &&
 		write_script "$name.sh" "$TEST_SHELL_PATH" <<-EOF &&
 		test_description='$descr (run in sub test-lib)
@@ -19,7 +13,22 @@ _run_sub_test_lib_test_common () {
 		# Point to the t/test-lib.sh, which isn't in ../ as usual
 		. "\$TEST_DIRECTORY"/test-lib.sh
 		EOF
-		cat >>"$name.sh" &&
+		cat >>"$name.sh"
+	)
+}
+
+_run_sub_test_lib_test_common () {
+	neg="$1" name="$2" descr="$3" # stdin is the body of the test code
+	shift 3
+	(
+		cd "$name" &&
+
+		# Pretend we're not running under a test harness, whether we
+		# are or not. The test-lib output depends on the setting of
+		# this variable, so we need a stable setting under which to run
+		# the sub-test.
+		sane_unset HARNESS_ACTIVE &&
+
 		export TEST_DIRECTORY &&
 		TEST_OUTPUT_DIRECTORY=$(pwd) &&
 		export TEST_OUTPUT_DIRECTORY &&
@@ -33,6 +42,18 @@ _run_sub_test_lib_test_common () {
 	)
 }
 
+write_and_run_sub_test_lib_test () {
+	name="$1" descr="$2" # stdin is the body of the test code
+	write_sub_test_lib_test "$@" || return 1
+	_run_sub_test_lib_test_common '' "$@"
+}
+
+write_and_run_sub_test_lib_test_err () {
+	name="$1" descr="$2" # stdin is the body of the test code
+	write_sub_test_lib_test "$@" || return 1
+	_run_sub_test_lib_test_common '!' "$@"
+}
+
 run_sub_test_lib_test () {
 	_run_sub_test_lib_test_common '' "$@"
 }
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 72809477645..7f6714a5fc5 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -68,7 +68,7 @@ test_expect_success 'success is reported like this' '
 '
 
 test_expect_success 'pretend we have a fully passing test suite' '
-	run_sub_test_lib_test full-pass "3 passing tests" <<-\EOF &&
+	write_and_run_sub_test_lib_test full-pass "3 passing tests" <<-\EOF &&
 	for i in 1 2 3
 	do
 		test_expect_success "passing test #$i" "true"
@@ -85,7 +85,7 @@ test_expect_success 'pretend we have a fully passing test suite' '
 '
 
 test_expect_success 'pretend we have a partially passing test suite' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		partial-pass "2/3 tests passing" <<-\EOF &&
 	test_expect_success "passing test #1" "true"
 	test_expect_success "failing test #2" "false"
@@ -103,7 +103,7 @@ test_expect_success 'pretend we have a partially passing test suite' '
 '
 
 test_expect_success 'pretend we have a known breakage' '
-	run_sub_test_lib_test failing-todo "A failing TODO test" <<-\EOF &&
+	write_and_run_sub_test_lib_test failing-todo "A failing TODO test" <<-\EOF &&
 	test_expect_success "passing test" "true"
 	test_expect_failure "pretend we have a known breakage" "false"
 	test_done
@@ -118,7 +118,7 @@ test_expect_success 'pretend we have a known breakage' '
 '
 
 test_expect_success 'pretend we have fixed a known breakage' '
-	run_sub_test_lib_test passing-todo "A passing TODO test" <<-\EOF &&
+	write_and_run_sub_test_lib_test passing-todo "A passing TODO test" <<-\EOF &&
 	test_expect_failure "pretend we have fixed a known breakage" "true"
 	test_done
 	EOF
@@ -130,7 +130,7 @@ test_expect_success 'pretend we have fixed a known breakage' '
 '
 
 test_expect_success 'pretend we have fixed one of two known breakages (run in sub test-lib)' '
-	run_sub_test_lib_test partially-passing-todos \
+	write_and_run_sub_test_lib_test partially-passing-todos \
 		"2 TODO tests, one passing" <<-\EOF &&
 	test_expect_failure "pretend we have a known breakage" "false"
 	test_expect_success "pretend we have a passing test" "true"
@@ -149,7 +149,7 @@ test_expect_success 'pretend we have fixed one of two known breakages (run in su
 '
 
 test_expect_success 'pretend we have a pass, fail, and known breakage' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		mixed-results1 "mixed results #1" <<-\EOF &&
 	test_expect_success "passing test" "true"
 	test_expect_success "failing test" "false"
@@ -168,7 +168,7 @@ test_expect_success 'pretend we have a pass, fail, and known breakage' '
 '
 
 test_expect_success 'pretend we have a mix of all possible results' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		mixed-results2 "mixed results #2" <<-\EOF &&
 	test_expect_success "passing test" "true"
 	test_expect_success "passing test" "true"
@@ -204,7 +204,7 @@ test_expect_success 'pretend we have a mix of all possible results' '
 '
 
 test_expect_success 'test --verbose' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		t1234-verbose "test verbose" --verbose <<-\EOF &&
 	test_expect_success "passing test" true
 	test_expect_success "test with output" "echo foo"
@@ -231,7 +231,7 @@ test_expect_success 'test --verbose' '
 '
 
 test_expect_success 'test --verbose-only' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		t2345-verbose-only-2 "test verbose-only=2" \
 		--verbose-only=2 <<-\EOF &&
 	test_expect_success "passing test" true
@@ -256,7 +256,7 @@ test_expect_success 'test --verbose-only' '
 test_expect_success 'GIT_SKIP_TESTS' '
 	(
 		GIT_SKIP_TESTS="git.2" && export GIT_SKIP_TESTS &&
-		run_sub_test_lib_test git-skip-tests-basic \
+		write_and_run_sub_test_lib_test git-skip-tests-basic \
 			"GIT_SKIP_TESTS" <<-\EOF &&
 		for i in 1 2 3
 		do
@@ -277,7 +277,7 @@ test_expect_success 'GIT_SKIP_TESTS' '
 test_expect_success 'GIT_SKIP_TESTS several tests' '
 	(
 		GIT_SKIP_TESTS="git.2 git.5" && export GIT_SKIP_TESTS &&
-		run_sub_test_lib_test git-skip-tests-several \
+		write_and_run_sub_test_lib_test git-skip-tests-several \
 			"GIT_SKIP_TESTS several tests" <<-\EOF &&
 		for i in 1 2 3 4 5 6
 		do
@@ -301,7 +301,7 @@ test_expect_success 'GIT_SKIP_TESTS several tests' '
 test_expect_success 'GIT_SKIP_TESTS sh pattern' '
 	(
 		GIT_SKIP_TESTS="git.[2-5]" && export GIT_SKIP_TESTS &&
-		run_sub_test_lib_test git-skip-tests-sh-pattern \
+		write_and_run_sub_test_lib_test git-skip-tests-sh-pattern \
 			"GIT_SKIP_TESTS sh pattern" <<-\EOF &&
 		for i in 1 2 3 4 5 6
 		do
@@ -325,7 +325,7 @@ test_expect_success 'GIT_SKIP_TESTS sh pattern' '
 test_expect_success 'GIT_SKIP_TESTS entire suite' '
 	(
 		GIT_SKIP_TESTS="git" && export GIT_SKIP_TESTS &&
-		run_sub_test_lib_test git-skip-tests-entire-suite \
+		write_and_run_sub_test_lib_test git-skip-tests-entire-suite \
 			"GIT_SKIP_TESTS entire suite" <<-\EOF &&
 		for i in 1 2 3
 		do
@@ -342,7 +342,7 @@ test_expect_success 'GIT_SKIP_TESTS entire suite' '
 test_expect_success 'GIT_SKIP_TESTS does not skip unmatched suite' '
 	(
 		GIT_SKIP_TESTS="notgit" && export GIT_SKIP_TESTS &&
-		run_sub_test_lib_test git-skip-tests-unmatched-suite \
+		write_and_run_sub_test_lib_test git-skip-tests-unmatched-suite \
 			"GIT_SKIP_TESTS does not skip unmatched suite" <<-\EOF &&
 		for i in 1 2 3
 		do
@@ -361,7 +361,7 @@ test_expect_success 'GIT_SKIP_TESTS does not skip unmatched suite' '
 '
 
 test_expect_success '--run basic' '
-	run_sub_test_lib_test run-basic \
+	write_and_run_sub_test_lib_test run-basic \
 		"--run basic" --run="1,3,5" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -382,7 +382,7 @@ test_expect_success '--run basic' '
 '
 
 test_expect_success '--run with a range' '
-	run_sub_test_lib_test run-range \
+	write_and_run_sub_test_lib_test run-range \
 		"--run with a range" --run="1-3" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -403,7 +403,7 @@ test_expect_success '--run with a range' '
 '
 
 test_expect_success '--run with two ranges' '
-	run_sub_test_lib_test run-two-ranges \
+	write_and_run_sub_test_lib_test run-two-ranges \
 		"--run with two ranges" --run="1-2,5-6" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -424,7 +424,7 @@ test_expect_success '--run with two ranges' '
 '
 
 test_expect_success '--run with a left open range' '
-	run_sub_test_lib_test run-left-open-range \
+	write_and_run_sub_test_lib_test run-left-open-range \
 		"--run with a left open range" --run="-3" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -445,7 +445,7 @@ test_expect_success '--run with a left open range' '
 '
 
 test_expect_success '--run with a right open range' '
-	run_sub_test_lib_test run-right-open-range \
+	write_and_run_sub_test_lib_test run-right-open-range \
 		"--run with a right open range" --run="4-" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -466,7 +466,7 @@ test_expect_success '--run with a right open range' '
 '
 
 test_expect_success '--run with basic negation' '
-	run_sub_test_lib_test run-basic-neg \
+	write_and_run_sub_test_lib_test run-basic-neg \
 		"--run with basic negation" --run="!3" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -487,7 +487,7 @@ test_expect_success '--run with basic negation' '
 '
 
 test_expect_success '--run with two negations' '
-	run_sub_test_lib_test run-two-neg \
+	write_and_run_sub_test_lib_test run-two-neg \
 		"--run with two negations" --run="!3,!6" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -508,7 +508,7 @@ test_expect_success '--run with two negations' '
 '
 
 test_expect_success '--run a range and negation' '
-	run_sub_test_lib_test run-range-and-neg \
+	write_and_run_sub_test_lib_test run-range-and-neg \
 		"--run a range and negation" --run="-4,!2" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -529,7 +529,7 @@ test_expect_success '--run a range and negation' '
 '
 
 test_expect_success '--run range negation' '
-	run_sub_test_lib_test run-range-neg \
+	write_and_run_sub_test_lib_test run-range-neg \
 		"--run range negation" --run="!1-3" <<-\EOF &&
 	for i in 1 2 3 4 5 6
 	do
@@ -550,7 +550,7 @@ test_expect_success '--run range negation' '
 '
 
 test_expect_success '--run include, exclude and include' '
-	run_sub_test_lib_test run-inc-neg-inc \
+	write_and_run_sub_test_lib_test run-inc-neg-inc \
 		"--run include, exclude and include" \
 		--run="1-5,!1-3,2" <<-\EOF &&
 	for i in 1 2 3 4 5 6
@@ -572,7 +572,7 @@ test_expect_success '--run include, exclude and include' '
 '
 
 test_expect_success '--run include, exclude and include, comma separated' '
-	run_sub_test_lib_test run-inc-neg-inc-comma \
+	write_and_run_sub_test_lib_test run-inc-neg-inc-comma \
 		"--run include, exclude and include, comma separated" \
 		--run=1-5,!1-3,2 <<-\EOF &&
 	for i in 1 2 3 4 5 6
@@ -594,7 +594,7 @@ test_expect_success '--run include, exclude and include, comma separated' '
 '
 
 test_expect_success '--run exclude and include' '
-	run_sub_test_lib_test run-neg-inc \
+	write_and_run_sub_test_lib_test run-neg-inc \
 		"--run exclude and include" \
 		--run="!3-,5" <<-\EOF &&
 	for i in 1 2 3 4 5 6
@@ -616,7 +616,7 @@ test_expect_success '--run exclude and include' '
 '
 
 test_expect_success '--run empty selectors' '
-	run_sub_test_lib_test run-empty-sel \
+	write_and_run_sub_test_lib_test run-empty-sel \
 		"--run empty selectors" \
 		--run="1,,3,,,5" <<-\EOF &&
 	for i in 1 2 3 4 5 6
@@ -638,7 +638,7 @@ test_expect_success '--run empty selectors' '
 '
 
 test_expect_success '--run substring selector' '
-	run_sub_test_lib_test run-substring-selector \
+	write_and_run_sub_test_lib_test run-substring-selector \
 		"--run empty selectors" \
 		--run="relevant" <<-\EOF &&
 	test_expect_success "relevant test" "true"
@@ -662,7 +662,7 @@ test_expect_success '--run substring selector' '
 '
 
 test_expect_success '--run keyword selection' '
-	run_sub_test_lib_test_err run-inv-range-start \
+	write_and_run_sub_test_lib_test_err run-inv-range-start \
 		"--run invalid range start" \
 		--run="a-5" <<-\EOF &&
 	test_expect_success "passing test #1" "true"
@@ -677,7 +677,7 @@ test_expect_success '--run keyword selection' '
 '
 
 test_expect_success '--run invalid range end' '
-	run_sub_test_lib_test_err run-inv-range-end \
+	write_and_run_sub_test_lib_test_err run-inv-range-end \
 		"--run invalid range end" \
 		--run="1-z" <<-\EOF &&
 	test_expect_success "passing test #1" "true"
@@ -692,7 +692,7 @@ test_expect_success '--run invalid range end' '
 '
 
 test_expect_success 'tests respect prerequisites' '
-	run_sub_test_lib_test prereqs "tests respect prereqs" <<-\EOF &&
+	write_and_run_sub_test_lib_test prereqs "tests respect prereqs" <<-\EOF &&
 
 	test_set_prereq HAVEIT
 	test_expect_success HAVEIT "prereq is satisfied" "true"
@@ -722,7 +722,7 @@ test_expect_success 'tests respect prerequisites' '
 '
 
 test_expect_success 'tests respect lazy prerequisites' '
-	run_sub_test_lib_test lazy-prereqs "respect lazy prereqs" <<-\EOF &&
+	write_and_run_sub_test_lib_test lazy-prereqs "respect lazy prereqs" <<-\EOF &&
 
 	test_lazy_prereq LAZY_TRUE true
 	test_expect_success LAZY_TRUE "lazy prereq is satisifed" "true"
@@ -746,7 +746,7 @@ test_expect_success 'tests respect lazy prerequisites' '
 '
 
 test_expect_success 'nested lazy prerequisites' '
-	run_sub_test_lib_test nested-lazy "nested lazy prereqs" <<-\EOF &&
+	write_and_run_sub_test_lib_test nested-lazy "nested lazy prereqs" <<-\EOF &&
 
 	test_lazy_prereq NESTED_INNER "
 		>inner &&
@@ -772,7 +772,7 @@ test_expect_success 'nested lazy prerequisites' '
 '
 
 test_expect_success 'lazy prereqs do not turn off tracing' '
-	run_sub_test_lib_test lazy-prereq-and-tracing \
+	write_and_run_sub_test_lib_test lazy-prereq-and-tracing \
 		"lazy prereqs and -x" -v -x <<-\EOF &&
 	test_lazy_prereq LAZY true
 
@@ -785,7 +785,7 @@ test_expect_success 'lazy prereqs do not turn off tracing' '
 '
 
 test_expect_success 'tests clean up after themselves' '
-	run_sub_test_lib_test cleanup "test with cleanup" <<-\EOF &&
+	write_and_run_sub_test_lib_test cleanup "test with cleanup" <<-\EOF &&
 	clean=no
 	test_expect_success "do cleanup" "
 		test_when_finished clean=yes
@@ -805,7 +805,7 @@ test_expect_success 'tests clean up after themselves' '
 '
 
 test_expect_success 'tests clean up even on failures' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		failing-cleanup "Failing tests with cleanup commands" <<-\EOF &&
 	test_expect_success "tests clean up even after a failure" "
 		touch clean-after-failure &&
@@ -834,7 +834,7 @@ test_expect_success 'tests clean up even on failures' '
 '
 
 test_expect_success 'test_atexit is run' '
-	run_sub_test_lib_test_err \
+	write_and_run_sub_test_lib_test_err \
 		atexit-cleanup "Run atexit commands" -i <<-\EOF &&
 	test_expect_success "tests clean up even after a failure" "
 		> ../../clean-atexit &&
-- 
2.32.0.rc3.434.gd8aed1f08a7


  parent reply	other threads:[~2021-06-14 10:55 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14 10:48 [PATCH 0/8] test-lib tests: split off subtest code in t0000 into lib-subtest.sh Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 1/8] test-lib tests: move "run_sub_test" to a new lib-subtest.sh Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` Ævar Arnfjörð Bjarmason [this message]
2021-06-14 10:48 ` [PATCH 3/8] test-lib tests: stop using a subshell in write_sub_test_lib_test() Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 4/8] test-lib tests: don't provide a description for the sub-tests Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 5/8] test-lib tests: get rid of copy/pasted mock test code Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 6/8] test-lib tests: avoid subshell for "test_cmp" for readability Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 7/8] test-lib tests: refactor common part of check_sub_test_lib_test*() Ævar Arnfjörð Bjarmason
2021-06-14 10:48 ` [PATCH 8/8] test-lib tests: assert 1 exit code, not non-zero Ævar Arnfjörð Bjarmason
2021-06-15  2:24 ` [PATCH 0/8] test-lib tests: split off subtest code in t0000 into lib-subtest.sh Junio C Hamano
2021-06-24 10:38   ` Ævar Arnfjörð Bjarmason
2021-06-30  7:04     ` Ævar Arnfjörð Bjarmason
2021-07-01 14:30       ` Junio C Hamano
2021-06-15 18:05 ` Felipe Contreras
2021-07-21 22:57 ` [PATCH v2 " Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 1/8] test-lib tests: move "run_sub_test" to a new lib-subtest.sh Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 2/8] test-lib tests: split up "write and run" into two functions Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 3/8] test-lib tests: stop using a subshell in write_sub_test_lib_test() Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 4/8] test-lib tests: don't provide a description for the sub-tests Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 5/8] test-lib tests: get rid of copy/pasted mock test code Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 6/8] test-lib tests: avoid subshell for "test_cmp" for readability Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 7/8] test-lib tests: refactor common part of check_sub_test_lib_test*() Ævar Arnfjörð Bjarmason
2021-07-21 22:57   ` [PATCH v2 8/8] test-lib tests: assert 1 exit code, not non-zero Ævar Arnfjörð Bjarmason
2021-07-21 23:23   ` [PATCH v2 0/8] test-lib tests: split off subtest code in t0000 into lib-subtest.sh Junio C Hamano
2021-08-05 10:37   ` [PATCH v3 0/9] " Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 1/9] test-lib tests: move "run_sub_test" to a new lib-subtest.sh Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 2/9] test-lib tests: split up "write and run" into two functions Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 3/9] test-lib tests: stop using a subshell in write_sub_test_lib_test() Ævar Arnfjörð Bjarmason
2021-09-22  7:54       ` Carlo Arenas
2021-08-05 10:37     ` [PATCH v3 4/9] test-lib tests: don't provide a description for the sub-tests Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 5/9] test-lib tests: get rid of copy/pasted mock test code Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 6/9] test-lib tests: assert no " Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 7/9] test-lib tests: avoid subshell for "test_cmp" for readability Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 8/9] test-lib tests: refactor common part of check_sub_test_lib_test*() Ævar Arnfjörð Bjarmason
2021-08-05 10:37     ` [PATCH v3 9/9] test-lib tests: assert 1 exit code, not non-zero Ævar Arnfjörð Bjarmason
2021-09-22  8:33     ` [PATCH v3 0/9] test-lib tests: split off subtest code in t0000 into lib-subtest.sh Carlo Arenas
2021-09-22 11:19     ` [PATCH v4 0/7] " Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 1/7] test-lib tests: move "run_sub_test" to a new lib-subtest.sh Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 2/7] test-lib tests: split up "write and run" into two functions Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 3/7] test-lib tests: don't provide a description for the sub-tests Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 4/7] test-lib tests: avoid subshell for "test_cmp" for readability Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 5/7] test-lib tests: refactor common part of check_sub_test_lib_test*() Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 6/7] test-lib tests: assert 1 exit code, not non-zero Ævar Arnfjörð Bjarmason
2021-09-22 11:19       ` [PATCH v4 7/7] test-lib tests: get rid of copy/pasted mock test code Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=patch-2.8-9e2715d2e20-20210614T104351Z-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@adamspiers.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ilya.bobyr@gmail.com \
    --cc=peff@peff.net \
    --cc=tr@thomasrast.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.