diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2021-09-22 13:19:52 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-09-22 16:22:41 -0700 |
commit | 56722a0635141f294c04c4b62add8f83aa8af71b (patch) | |
tree | 7506f6a7e778076692f659d5082f00fb476a1615 | |
parent | test-lib tests: refactor common part of check_sub_test_lib_test*() (diff) | |
download | tgif-56722a0635141f294c04c4b62add8f83aa8af71b.tar.xz |
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>
-rw-r--r-- | t/lib-subtest.sh | 21 |
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 () { |