From: Junio C Hamano Date: Mon, 16 Dec 2013 21:32:29 GMT Subject: Re: [PATCH v4 2/3] diff: Let "git diff -O" read orderfile from any file, fail properly Message-ID: In-Reply-To: <1387224586-10169-3-git-send-email-naesten@gmail.com> Samuel Bronson writes: > for i in 1 2 > do > test_expect_success "orderfile using option ($i)" ' > git diff -Oorder_file_$i --name-only HEAD^..HEAD >actual && > test_cmp expect_$i actual > ' This funny indentation in the previous step needs to be fixed, and the added block below should match. > + > + test_expect_success PIPE "orderfile is fifo ($i)" ' > + rm -f order_fifo && > + mkfifo order_fifo && > + cat order_file_$i >order_fifo & > + git diff -O order_fifo --name-only HEAD^..HEAD >actual && I think this part can be racy depending on which between cat and "git diff" are scheduled first, no? Try running this test under load and I think you will see it deadlocked. Besides, the above breaks && chain; even if mkfifo breaks (hence not allowing cat to run), "git diff" will go ahead and run, no? > + test_cmp expect_$i actual > +' > done > > test_done