Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH v4 2/3] diff: Let "git diff -O" read orderfile from any file, fail properly

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:28

Samuel Bronson [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help