Re: [PATCH 02/17] t0001 (mingw): do not expect a specific order of stdout/stderr
From: Eric Sunshine <hidden>
Date: 2019-06-18 23:12:45
On Tue, Jun 18, 2019 at 8:24 AM Johannes Schindelin via GitGitGadget [off-list ref] wrote:
quoted hunk ↗ jump to hunk
When redirecting stdout/stderr to the same file, we cannot guarantee that stdout will come first. In fact, in this test case, it seems that an MSVC build always prints stderr first. In any case, this test case does not want to verify the *order* but the *presence* of both outputs, so let's relax the test a little. Signed-off-by: Johannes Schindelin <redacted> ---diff --git a/t/t0001-init.sh b/t/t0001-init.sh@@ -474,7 +474,8 @@ test_expect_success MINGW 'redirect std handles' ' printf ".git\nfatal: Needed a single revision\n" >expect && - test_cmp expect output.txt + sort <output.txt >output.sorted && + test_cmp expect output.sorted
It was quite surprising to see this sorting only 'output' but not
'expect'. I see now that 'output' is already "sorted" (in that sense),
but it feels fragile. More robust would be to sort 'expect' as well:
printf ".git\nfatal: Needed a single revision\n" | sort >expect &&
This would protect against the next person who modifies the 'printf'
testing on Unix and Windows/gcc and thinking all is well even though
the change might make the test fail for an MSVC build.