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

[PATCH] t7610: use "file:///dev/null", not "/dev/null", fixes MinGW

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 15, 2022, 23:40 UTC
Message-ID
<patch-1.1-21a9cb49299-20221115T233516Z-avarab@gmail.com>
In-Reply-To
<Y3PrjMLcEGfoHifZ@nand.local>

On MinGW the "/dev/null" is translated to "nul" on command-lines, even though as in this case it'll never end up referring to an actual file.

So on Windows the fix for the previous "example.com" timeout issue in 8354cf752ec (t7610: fix flaky timeout issue, don't clone from example.com, 2022-11-05) would yield:

  fatal: repo URL: 'nul' must be absolute or begin with ./|../

Let's evade this yet again by prefixing this with "file://", which makes this pass in the Windows CI.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
On Tue, Nov 15 2022, Taylor Blau wrote:
Show 24 quoted lines
> On Wed, Nov 09, 2022 at 09:17:25PM -0500, Taylor Blau wrote:
>> On Thu, Nov 10, 2022 at 12:55:30AM +0100, Ævar Arnfjörð Bjarmason wrote:
>> > But we generally just fail some or all of 3..9 pretty fast, and don't
>> > start taking 20 minutes to run the test, when it took 10s before (or
>> > whatever).
>>
>> OK. I still think that in principle this is indistinguishable from not
>> running a setup test to completion.
>>
>> *But*: I'm willing to treat them differently since instead of
>> manifesting in an immediate failure later on in the suite, we hang for a
>> substantial period of time.
>>
>> So I'm content to merge this down, but I don't think it's worth
>> searching out for more of these in the future.
>
> Having merged this down to 'next', it looks like there is some CI
> fallout on the Windows tests, see:
>
>   https://github.com/ttaylorr/git/actions/runs/3473324797/jobs/5805324776
>
> I am not sure how I might have caught this earlier not having a Windows
> machine myself. Regardless, let's make sure that it is fixed up before
> this graduates.

Sorry again :( I think my CI was quite queued up at the time, and I figured surely *this* won't have any porability issues, but forgot about MinGW's sneaky /dev/null string-replacement behavior.

Windows CI passes with this: https://github.com/avar/git/actions/runs/3473817195

 t/t7610-mergetool.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index b1ba0d9a088..7b957022f1a 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -33,7 +33,7 @@ test_expect_success 'setup' '
 		git add foo &&
 		git commit -m "Add foo"
 	) &&
-	git submodule add /dev/null submod &&
+	git submodule add file:///dev/null submod &&
 	git add file1 "spaced name" file1[1-4] subdir/file3 .gitmodules submod &&
 	git commit -m "add initial versions" &&
 
@@ -614,7 +614,7 @@ test_expect_success 'submodule in subdirectory' '
 		)
 	) &&
 	test_when_finished "rm -rf subdir/subdir_module" &&
-	git submodule add /dev/null subdir/subdir_module &&
+	git submodule add file:///dev/null subdir/subdir_module &&
 	git add subdir/subdir_module &&
 	git commit -m "add submodule in subdirectory" &&
 
-- 
2.38.0.1473.g172bcc0511c
Previous: Taylor BlauNext: Taylor Blau
Message 6 of 9 in “t7610: fix flaky timeout issue, don't clone from example.com”
  1. t7610: fix flaky timeout issue, don't clone from example.comÆvar Arnfjörð Bjarmason, Nov 5, 2022
  2. Taylor BlauNov 9, 2022
  3. Ævar Arnfjörð BjarmasonNov 9, 2022
  4. Taylor BlauNov 10, 2022
  5. Taylor BlauNov 15, 2022
  6. t7610: use "file:///dev/null", not "/dev/null", fixes MinGWÆvar Arnfjörð Bjarmason, Nov 15, 2022
  7. Taylor BlauNov 16, 2022
  8. Ævar Arnfjörð BjarmasonNov 17, 2022
  9. Taylor BlauNov 17, 2022

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.