Re: [Test Breakage 2.46.0-rc0] Test t4135.06 fails on NonStop
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 14, 2024, 02:23 UTC
- Message-ID
- <xmqqv818aezm.fsf@gitster.g>
- In-Reply-To
- <024201dad543$877221e0$965665a0$@nexbridge.com>
<rsbecker@nexbridge.com> writes:
Show 16 quoted lines
> Here is the breakage. This looks like a non-portable dependency on /dev/zero > was introduced. > > expecting success of 4153.6 '--reject overrides --no-reject': > rm -fr .git/rebase-apply && > git reset --hard && > git checkout first && > rm -f file.rej && > > test_must_fail git am --no-reject side1.eml && > test_path_is_dir .git/rebase-apply && > test_path_is_missing file.rej && > > test_must_fail git am --retry --reject </dev/zero && > test_path_is_dir .git/rebase-apply && > test_path_is_file file.rej
I think you are blaming 53ce2e3f (am: add explicit "--retry" option, 2024-06-06), but /dev/zero was in use before that commit.
diff --git a/t/t4153-am-resume-override-opts.sh b/t/t4153-am-resume-override-opts.sh
...
@@ -40,7 +44,7 @@ test_expect_success TTY '--3way overrides --no-3way' ' # Applying side1 with am --3way will succeed due to the threeway-merge.
# Applying side2 will fail as --3way does not apply to it.
- test_must_fail test_terminal git am --3way </dev/zero &&
+ test_must_fail git am --retry --3way &&
test_path_is_dir .git/rebase-apply &&
test side1 = "$(cat file2)"
'In this hunk, use of /dev/zero goes away; if /dev/zero were a problem, you would have been failing this test already.
@@ -94,7 +98,7 @@ test_expect_success TTY '--reject overrides --no-reject' '
test_path_is_dir .git/rebase-apply &&
test_path_is_missing file.rej && - test_must_fail test_terminal git am --reject </dev/zero &&
+ test_must_fail git am --retry --reject </dev/zero &&
test_path_is_dir .git/rebase-apply &&
test_path_is_file file.rej
'And this hunk uses /dev/zero the same way before and after. The older use of /dev/zero in these tests were from 852a1710 (am: let command-line options override saved options, 2015-08-04), which was part of v2.6.0 that was tagged in late Sep 2015.
In short this is nothing new in this release.
Preparing a garbage file that is sufficiently large (like 1kB) and feeding from that file to the commands instead of from /dev/null may be sufficient to reduce the dependence of /dev/zero but given that this is ancient, there are many other uses of /dev/zero in the test directory, it does not seem ultra-urgent to address this, at least to me. Certainly not during the pre-release freeze.
Thanks for a report.