diff mbox series

[06/15] apply tests: use "test_must_fail" instead of ad-hoc pattern

Message ID patch-06.15-7952ae1f3b5-20220302T171755Z-avarab@gmail.com (mailing list archive)
State Superseded
Headers show
Series tests: don't ignore "git" exit codes | expand

Commit Message

Ævar Arnfjörð Bjarmason March 2, 2022, 5:27 p.m. UTC
Change a fragile test pattern introduced in 6b763c424e4 (git-apply: do
not read past the end of buffer, 2007-09-05). Before this we wouldn't
distinguish normal "git apply" failures from segfaults or abort().

I'd previously marked this test as passing under SANITIZE=leak in
f54f48fc074 (leak tests: mark some apply tests as passing with
SANITIZE=leak, 2021-10-31). Let's remove that annotation as this test
will no longer pass.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t4123-apply-shrink.sh | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

Comments

Junio C Hamano March 2, 2022, 11:09 p.m. UTC | #1
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:

>  test_expect_success 'apply should fail gracefully' '
> -
> -	if git apply --index patch
> -	then
> -		echo Oops, should not have succeeded
> -		false
> -	else
> -		status=$? &&
> -		echo "Status was $status" &&
> -		if test -f .git/index.lock
> -		then
> -			echo Oops, should not have crashed
> -			false
> -		fi
> -	fi
> +	test_must_fail git apply --index patch &&
> +	test_path_is_missing .git/index.lock
>  '

Wow, that is very old fashioned.  Thanks for cleaning up the
leftover mess from the days before test_must_fail was prevalent.
diff mbox series

Patch

diff --git a/t/t4123-apply-shrink.sh b/t/t4123-apply-shrink.sh
index dfa053ff28e..3ef84619f53 100755
--- a/t/t4123-apply-shrink.sh
+++ b/t/t4123-apply-shrink.sh
@@ -2,8 +2,6 @@ 
 
 test_description='apply a patch that is larger than the preimage'
 
-
-TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
 cat >F  <<\EOF
@@ -41,20 +39,8 @@  test_expect_success setup '
 '
 
 test_expect_success 'apply should fail gracefully' '
-
-	if git apply --index patch
-	then
-		echo Oops, should not have succeeded
-		false
-	else
-		status=$? &&
-		echo "Status was $status" &&
-		if test -f .git/index.lock
-		then
-			echo Oops, should not have crashed
-			false
-		fi
-	fi
+	test_must_fail git apply --index patch &&
+	test_path_is_missing .git/index.lock
 '
 
 test_done