Re: [PATCH v2] tests: modernize the test script t0010-racy-git.sh
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Feb 29, 2024, 23:52 UTC
- Message-ID
- <CAPig+cSGtcA15aOmvj07Uv-pFZTE58+9gGsQh=8K4BL4KRieQA@mail.gmail.com>
- In-Reply-To
- <xmqqa5nic06t.fsf@gitster.g>
On Thu, Feb 29, 2024 at 6:36 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 10 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes: > > If taking it to this extent, then the modernized version of the last > > couple lines would be: > > > > git diff-files -p >out && > > test_file_not_empty out > > Yes. The modern style seems to prefer temporary files over > variables; the reason probably is because it tends to be easier to > remotely post-mortem?
Yes, that seems likely. Functions such as test_file_not_empty() also provide an immediate indication of what went wrong without having to spelunk the test detritus:
'foo' is not a non-empty file. [*]
whereas `test "" != "$foo"` provides no output at all, so it's not immediately clear which part of the test failed. Peff's `verbose` function was intended to mitigate that problem by making the expression verbose upon failure:
verbose test "" != "$foo" &&
but never really caught on and was eventually retired by 8ddfce7144 (t: drop "verbose" helper function, 2023-05-08).
[*]: Admittedly, the double-negative in "'foo' is not a non-empty file." is more than a little confusing. It probably would have been better phrased as "'foo' should be empty but is not".