public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Mirko Faina <mroik@delayed.space>
Cc: Patrick Steinhardt <ps@pks.im>,  git@vger.kernel.org
Subject: Re: [PATCH] t4014: fix call to `test_expect_success ()`
Date: Tue, 24 Mar 2026 09:39:16 -0700	[thread overview]
Message-ID: <xmqqo6kd18sr.fsf@gitster.g> (raw)
In-Reply-To: <acKx6yBi-BWUVJcv@exploit> (Mirko Faina's message of "Tue, 24 Mar 2026 16:48:35 +0100")

Mirko Faina <mroik@delayed.space> writes:

> On Tue, Mar 24, 2026 at 08:38:49AM -0700, Junio C Hamano wrote:
>> Could either of you remind us why "make test" did not catch this?
>
> My bad. At the time when I ran it I simply saw no failing tests and
> assumed everything worked fine. Next time I'll check that the actual
> name of the test is present in the output.

No, I wasn't complaining a human tester not running tests.

I was wondering if we can make the test framework better so that a
misspelt test_expect_success would cause a louder failure than what
we have now, which is something like:

	...
        ok 5 - check hash-object

        t0002-gitfile.sh: line 46: test_expect_successo: command not found
        expecting success of 0002.6 'check update-index':
                test_path_is_missing "$REAL/index" &&
                rm -f "$REAL/objects/$(objpath $SHA)" &&
                git update-index --add bar &&
                test_path_is_file "$REAL/index" &&
                test_path_is_file "$REAL/objects/$(objpath $SHA)"

        ok 6 - check update-index
        ...
        expecting success of 0002.13 'enter_repo strict mode':
                head=$(git -C enter_repo rev-parse HEAD) &&
                ...
                test_cmp expected actual

        ok 13 - enter_repo strict mode

        # passed all 13 test(s)
        1..13

when I corrupt the 6th test of a random script.

        diff --git i/t/t0002-gitfile.sh w/t/t0002-gitfile.sh
        index dfbcdddbcc..d65f664914 100755
        --- i/t/t0002-gitfile.sh
        +++ w/t/t0002-gitfile.sh
        @@ -43,7 +43,7 @@ test_expect_success 'check hash-object' '
                test_path_is_file "$REAL/objects/$(objpath $SHA)"
         '

        -test_expect_success 'check cat-file' '
        +test_expect_successo 'check cat-file' '
                git cat-file blob $SHA >actual &&
                test_cmp bar actual
         '

There is no indication of something bad happened, other than
"command not found" and 13 tests passed instead of 14 the script
has, which nobody knows.

So, no, it hardly is your fault.

I wonder if the test framework is safe to run with "set -e".

  reply	other threads:[~2026-03-24 16:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-24 14:52 [PATCH] t4014: fix call to `test_expect_success ()` Patrick Steinhardt
2026-03-24 15:18 ` Mirko Faina
2026-03-24 15:38   ` Junio C Hamano
2026-03-24 15:48     ` Mirko Faina
2026-03-24 16:39       ` Junio C Hamano [this message]
2026-03-24 17:13         ` Re* " Junio C Hamano
2026-03-24 18:05           ` [PATCH] t6002: make test "set -e" clean Junio C Hamano
2026-03-24 18:13           ` [PATCH] test-lib: catch misspelt 'test_expect_successo' Junio C Hamano
2026-03-24 19:35             ` Jeff King
2026-03-24 19:48               ` Junio C Hamano
2026-03-25  5:46                 ` Jeff King
2026-03-24 18:20           ` [PATCH] t0008: make test "set -e" clean Junio C Hamano
2026-03-24 18:32           ` [PATCH] t7450: " Junio C Hamano
2026-03-24 18:38             ` Eric Sunshine
2026-03-24 19:03               ` Junio C Hamano
2026-03-25  7:07           ` Re* [PATCH] t4014: fix call to `test_expect_success ()` Patrick Steinhardt

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=xmqqo6kd18sr.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=mroik@delayed.space \
    --cc=ps@pks.im \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox