> From: Randall S. Becker <rsbecker@xxxxxxxxxxxxx> On March 5, 2020 10:45 AM, I wrote: > This one has me confused. It fails 100% of the time on NonStop. The test > looks reasonable, as do the messages. I am not certain that test_i18ngrep > works properly - it falls down to the return 1 statement which causes the test > to fail. The error message generated is "File already exists" not "File exists" > as is required in the test. We should not be testing for specific text content > originating from strerror - I thought we had this decision in a different > thread. https://public-inbox.org/git/xmqq36intlpj.fsf@gitster- > ct.c.googlers.com/ > > Thoughts? > > expecting success of 1091.19 'fail when lock is taken': > test_when_finished rm -rf repo/.git/info/sparse-checkout.lock && > touch repo/.git/info/sparse-checkout.lock && > test_must_fail git -C repo sparse-checkout set deep 2>err && > test_i18ngrep "File exists" err > > error: 'grep File exists err' didn't find a match in: > fatal: Unable to create '/home/ituglib/randall/git/t/trash directory.t1091- > sparse-checkout-builtin/repo/.git/info/sparse-checkout.lock': File already > exists. <----- this is the test issue > > Another git process seems to be running in this repository, e.g. > an editor opened by 'git commit'. Please make sure all processes are > terminated then try again. If it still fails, a git process may have crashed in > this repository earlier: > remove the file manually to continue. > not ok 19 - fail when lock is taken > # > # test_when_finished rm -rf repo/.git/info/sparse-checkout.lock && > # touch repo/.git/info/sparse-checkout.lock && > # test_must_fail git -C repo sparse-checkout set deep 2>err && > # test_i18ngrep "File exists" err > # This situation still occurs at 2.26.0-rc0. As above, this results from a text compare to a platform-specific message that should not be used. To hack around it, a possible fix (which I don't like) could be as follows: index b4c9c32a03..d1fd225dad 100755 --- a/t/t1091-sparse-checkout-builtin.sh +++ b/t/t1091-sparse-checkout-builtin.sh @@ -305,7 +305,7 @@ test_expect_success 'fail when lock is taken' ' test_when_finished rm -rf repo/.git/info/sparse-checkout.lock && touch repo/.git/info/sparse-checkout.lock && test_must_fail git -C repo sparse-checkout set deep 2>err && - test_i18ngrep "File exists" err + test_i18ngrep "File \(already \)*exists" err ' This does not remove the problem of platform error compares, but does allow the test to temporarily pass. Randall