git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.
Previous: rsbecker@nexbridge.comNext: Jeff King
Message 2 of 8 in “[Test Breakage 2.46.0-rc0] Test t4135.06 fails on NonStop”
  1. rsbecker@nexbridge.comJul 13, 2024
  2. Junio C HamanoJul 14, 2024
  3. Jeff KingJul 14, 2024
  4. rsbecker@nexbridge.comJul 14, 2024
  5. t4153: stop redirecting input from /dev/zeroJeff King, Jul 17, 2024
  6. rsbecker@nexbridge.comJul 17, 2024
  7. Junio C HamanoJul 17, 2024
  8. rsbecker@nexbridge.comJul 14, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.