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

2 messages from 2026-06-10 to 2026-06-11. Participants: Junio C Hamano, Patrick Steinhardt.
Thread: https://gitlist.dev/t/65788

## Junio C Hamano, 2026-06-10 21:39

Subject: [PATCH] t1400: have fifo test clean after itself
Message-ID: <xmqqo6hit6rn.fsf@gitster.g>

```
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 &) &&
 
-- 
2.54.0-615-g639a4a7340


```

## Patrick Steinhardt, 2026-06-11 12:41

Subject: Re: [PATCH] t1400: have fifo test clean after itself
Message-ID: <aiqs5Wq2Di-6yW0D@pks.im>
In-Reply-To: <xmqqo6hit6rn.fsf@gitster.g>

```
On Wed, Jun 10, 2026 at 02:39:08PM -0700, Junio C Hamano wrote:
> 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

```
