Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-09-22 14:19:50 +0300
committerJunio C Hamano <gitster@pobox.com>2021-09-23 02:22:41 +0300
commit12fe4909fa26ea0a1c653867f11b01888055840a (patch)
tree2674373f9c6bc04ad6d7214ccb6d28a939702617 /t/lib-subtest.sh
parentc3ff7be6fb04c3150a8496271901a4a918c2c70c (diff)
test-lib tests: avoid subshell for "test_cmp" for readability
The use of a sub-shell for running the test_cmp of stdout/stderr for the test author was introduced in this form in 565b6fa87bb (tests: refactor mechanics of testing in a sub test-lib, 2012-12-16), but from looking at the history that seemed to have diligently copied my original ad-hoc implementation in 7b905119703 (t/t0000-basic.sh: Run the passing TODO test inside its own test-lib, 2010-08-19). There's no reason to use a subshell here, we try to avoid it in general. It also improves readability, if the test fails we print out the relative path in the trash directory that needs to be looked at. Before that was mostly obscured, since the "write_sub_test_lib_test" will pick the directory for you from the test name. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/lib-subtest.sh')
-rw-r--r--t/lib-subtest.sh20
1 files changed, 7 insertions, 13 deletions
diff --git a/t/lib-subtest.sh b/t/lib-subtest.sh
index cdbc2d9332..0737fab98a 100644
--- a/t/lib-subtest.sh
+++ b/t/lib-subtest.sh
@@ -79,22 +79,16 @@ run_sub_test_lib_test_err () {
check_sub_test_lib_test () {
name="$1" # stdin is the expected output from the test
- (
- cd "$name" &&
- test_must_be_empty err &&
- sed -e 's/^> //' -e 's/Z$//' >expect &&
- test_cmp expect out
- )
+ test_must_be_empty "$name"/err &&
+ sed -e 's/^> //' -e 's/Z$//' >"$name"/expect &&
+ test_cmp "$name/"expect "$name"/out
}
check_sub_test_lib_test_err () {
name="$1" # stdin is the expected output from the test
# expected error output is in descriptor 3
- (
- cd "$name" &&
- sed -e 's/^> //' -e 's/Z$//' >expect.out &&
- test_cmp expect.out out &&
- sed -e 's/^> //' -e 's/Z$//' <&3 >expect.err &&
- test_cmp expect.err err
- )
+ sed -e 's/^> //' -e 's/Z$//' >"$name"/expect.out &&
+ test_cmp "$name"/expect.out "$name"/out &&
+ sed -e 's/^> //' -e 's/Z$//' <&3 >"$name"/expect.err &&
+ test_cmp "$name"/expect.err "$name"/err
}