Thread (1 message) 1 message, 1 author, 2020-10-16

Re: [PATCH v2] test_cmp: diagnose incorrect arguments

From: Junio C Hamano <hidden>
Date: 2020-10-16 18:37:02

Eric Sunshine [off-list ref] writes:
On Thu, Oct 15, 2020 at 8:17 PM Jeff King [off-list ref] wrote:
quoted
On Sun, Aug 09, 2020 at 01:42:09PM -0400, Eric Sunshine wrote:
quoted
[...] Make it easier for test authors to discover such problems early
by sanity-checking the arguments to test_cmp(). [...]
This patch caused some interesting confusion for me today.
  error: bug in the test script: test_cmp 'r2/.git/HEAD' missing
which was somewhat unhelpful (or at least less helpful than a regular
test failure). The test in question does this:
        test_cmp r0/.git/HEAD r2/.git/HEAD &&
and expects to fail if an earlier step didn't correctly create r2. Is it
a bug or misuse of test_cmp for it to do so? I could see an argument
that it is, but I'm also not sure if there's a convenient alternative.
I can see the argument going both ways as to whether it's a misuse of
'test_cmp'.
quoted
The best I could come up with is:

  test_path_is_file r2/.git/HEAD &&
  test_cmp r0/.git/HEAD r2/.git/HEAD

which isn't that great.
Hmph, I agree that the "both must be file" is a bit too eager and
ignores that "they must match, but the possible reasons they may not
include one of them may be missing" use case.
Ævar ran into the same issue recently[1] and came up with the same
workaround. Despite its good intention (trying to catch bugs in
'test_expect_failure' tests), this change[2] doesn't seem to have
caught any genuine bugs (it wouldn't even have caught the bug which
served as its inspiration[3]), but has nevertheless caused a couple
hiccups already. As such, I would not be opposed to seeing the change
reverted.
Sounds good.  Anybody wants to do the honors?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help