RE: [Test Breakage 2.46.0-rc0] Test t4135.06 fails on NonStop
- From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
- Date
- Jul 14, 2024, 13:25 UTC
- Message-ID
- <001e01dad5f1$43c66100$cb532300$@nexbridge.com>
- In-Reply-To
- <xmqqv818aezm.fsf@gitster.g>
On Saturday, July 13, 2024 10:23 PM, Junio C Hamano wrote:
Show 20 quoted lines
><rsbecker@nexbridge.com> writes: > >> 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.
Show 8 quoted lines
> # 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' '
Show 10 quoted lines
> 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
Show 5 quoted lines
>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.
I think the /dev/zero usage was being hidden. We definitely do not have /dev/zero, but I think the prior hung failed anyway, so the test diff not differentiate between the test fail and using /dev/zero. So it looks like --retry. This worked at 2.44.2 and for years before that.