Thread (1 message) 1 message, 1 author, 2019-02-14

Re: Re* [Breakage] 2.20.0-rc0 t1404: test_i18ngrep reports 1 instead of 0 on NonStop in one case

From: Junio C Hamano <hidden>
Date: 2019-02-14 21:15:58

"Randall S. Becker" [off-list ref] writes:
On February 14, 2019 15:16, Junio C Hamano wrote:
quoted
Jeff King [off-list ref] writes:
quoted
On Mon, Feb 11, 2019 at 01:07:15PM -0800, Junio C Hamano wrote:
quoted
quoted
quoted
test_i18ngrep "Unable to create $Q.*packed-refs.lock$Q: File
exists" err
The message does not match, does it? Here we grep for "File exists"
but the message you showed says "File already exists".
Hmph, this is from strerror(), right?

The question is if we should be using grep to match on strerror()
result in the C locale.
Yeah, I agree that's questionable. And I'm mildly surprised it hasn't
been a problem before now.
quoted
Do we really care that the reason of the failure is due to EEXIST for
this particular test?
Hmm. We care to _some_ degree, since that's the condition we set up
for making sure that update-ref cannot take the lock. But it would
probably be fine to just confirm that we failed to take the lock. And
there, checking for just "Unable to create $Q.*packed-refs.lock" would
be sufficient.
Yup.

As this came from 6a2a7736 ("t1404: demonstrate two problems with
reference transactions", 2017-09-08), that is as old as Git 2.15, I'd
throw it
quoted
into "not so urgent" pile.

-- >8 --
Subject: [PATCH] t1404: do not rely on the exact phrasing of strerror()

Not even in C locale, it is wrong to expect that the exact phrasing "File
exists" is used to show EEXIST.

Reported-by: Randall S. Becker <redacted>
Helped-by: Duy Nguyen [off-list ref]
Helped-by: Jeff King [off-list ref]
Signed-off-by: Junio C Hamano <redacted>
---

    I've grepped in t/ directory for the exact phrases of all errno on a
    recent Debian box, and this was the only hit it found.  There
    are two other hits but both in the comments.

 t/t1404-update-ref-errors.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh
index
quoted
51a4f4c0ac..f95a64c911 100755
--- a/t/t1404-update-ref-errors.sh
+++ b/t/t1404-update-ref-errors.sh
@@ -614,7 +614,7 @@ test_expect_success 'delete fails cleanly if packed-
refs file is locked' '
 	test_when_finished "rm -f .git/packed-refs.lock" &&
 	test_must_fail git update-ref -d $prefix/foo >out 2>err &&
 	git for-each-ref $prefix >actual &&
-	test_i18ngrep "Unable to create $Q.*packed-refs.lock$Q: File exists"
err &&
+	test_i18ngrep "Unable to create $Q.*packed-refs.lock$Q:" err &&
 	test_cmp unchanged actual
 '
This passes on NonStop. Thanks.

Randall
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help