Volume XXII, number 280Wednesday, October 7, 2026Latest message 3 hours ago

The Git List

News and archive of git@vger.kernel.org, since April 2005

patcht1400: have fifo test clean after itself

2 messages between Jun 10, 2026 and Jun 11, 2026, from Junio C Hamano, Patrick Steinhardt.

Plain Markdown or JSON for tools and agents. Diffs are folded; open one to read it.

Junio C HamanoJun 10, 2026, 21:39 UTC on lore

One test in this script creates a pair of FIFOs, "in" and "out", that are named so generically that later tests may be tempted to use them. By the time those later tests run a command with its output redirected to the file (e.g., "git foobar >out"), however, nobody is reading from the lingering FIFO, and the test gets blocked forever.

Clean them up when the test finishes.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 t/t1400-update-ref.sh | 1 +
 1 file changed, 1 insertion(+)
Show changes to t/t1400-update-ref.sh +1 −0
diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index db7f5444da..477af544bc 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -1610,6 +1610,7 @@ test_expect_success 'transaction cannot restart ongoing transaction' '
 '
 
 test_expect_success PIPE 'transaction flushes status updates' '
+	test_when_finished "rm -f in out" &&
 	mkfifo in out &&
 	(git update-ref --stdin <in >out &) &&
 
-- 
2.54.0-615-g639a4a7340
Patrick SteinhardtJun 11, 2026, 12:41 UTC in reply to Junio C Hamano on lore

Re: [PATCH] t1400: have fifo test clean after itself

On Wed, Jun 10, 2026 at 02:39:08PM -0700, Junio C Hamano wrote:
Show 24 quoted lines
> One test in this script creates a pair of FIFOs, "in" and "out",
> that are named so generically that later tests may be tempted to use
> them.  By the time those later tests run a command with its output
> redirected to the file (e.g., "git foobar >out"), however, nobody is
> reading from the lingering FIFO, and the test gets blocked forever.
> 
> Clean them up when the test finishes.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  t/t1400-update-ref.sh | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
> index db7f5444da..477af544bc 100755
> --- a/t/t1400-update-ref.sh
> +++ b/t/t1400-update-ref.sh
> @@ -1610,6 +1610,7 @@ test_expect_success 'transaction cannot restart ongoing transaction' '
>  '
>  
>  test_expect_success PIPE 'transaction flushes status updates' '
> +	test_when_finished "rm -f in out" &&
>  	mkfifo in out &&
>  	(git update-ref --stdin <in >out &) &&

I'd expect that such a test that tried to reuse the sockets would probably break quite obviously, but I guess you never really know. In any case, it doesn't hurt to clean up after the test.

Thanks!
Patrick

Back to recent threads