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:52 +0300
committerJunio C Hamano <gitster@pobox.com>2021-09-23 02:22:41 +0300
commit56722a0635141f294c04c4b62add8f83aa8af71b (patch)
tree7506f6a7e778076692f659d5082f00fb476a1615 /t/lib-subtest.sh
parente07b817cfca9d15e6930dc09344846fb5246d4d7 (diff)
test-lib tests: assert 1 exit code, not non-zero
Improve the testing for test-lib.sh itself to assert that we have a exit code of 1, not any non-zero. Improves code added in 0445e6f0a12 (test-lib: '--run' to run only specific tests, 2014-04-30). 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.sh21
1 files changed, 9 insertions, 12 deletions
diff --git a/t/lib-subtest.sh b/t/lib-subtest.sh
index cdadc0c7fc..56ee927f0c 100644
--- a/t/lib-subtest.sh
+++ b/t/lib-subtest.sh
@@ -11,8 +11,8 @@ write_sub_test_lib_test () {
}
_run_sub_test_lib_test_common () {
- neg="$1" name="$2" # stdin is the body of the test code
- shift 2
+ cmp_op="$1" want_code="$2" name="$3" # stdin is the body of the test code
+ shift 3
# intercept pseudo-options at the front of the argument list that we
# will not pass to child script
@@ -48,33 +48,30 @@ _run_sub_test_lib_test_common () {
GIT_SKIP_TESTS=$skip &&
export GIT_SKIP_TESTS &&
sane_unset GIT_TEST_FAIL_PREREQS &&
- if test -z "$neg"
- then
- ./"$name.sh" "$@" >out 2>err
- else
- ! ./"$name.sh" "$@" >out 2>err
- fi
+ ./"$name.sh" "$@" >out 2>err;
+ ret=$? &&
+ test "$ret" "$cmp_op" "$want_code"
)
}
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 '' "$@"
+ _run_sub_test_lib_test_common -eq 0 "$@"
}
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_common -eq 1 "$@"
}
run_sub_test_lib_test () {
- _run_sub_test_lib_test_common '' "$@"
+ _run_sub_test_lib_test_common -eq 0 "$@"
}
run_sub_test_lib_test_err () {
- _run_sub_test_lib_test_common '!' "$@"
+ _run_sub_test_lib_test_common -eq 1 "$@"
}
_check_sub_test_lib_test_common () {