Follow-up Comment #5, bug #64016 (project make): This made me think, why don't we also test the opposite situation? That's that in the sequential mode make does not advance to the next target, until the current target is finished.
diff --git a/tests/scripts/features/double_colon b/tests/scripts/features/double_colon index 4631c355..5aad531f 100644 --- a/tests/scripts/features/double_colon +++ b/tests/scripts/features/double_colon @@ -234,6 +234,23 @@ bye.x::; @#HELPER# sleep 1 file $@ !, '-j2 hello.x bye.x', "sleep 1\nfile bye.x\nhello.x"); +unlink('bye.x'); + +# This test is the opposite of the prior one. +# Test that in the sequential mode (-j1) update_goal_chain does not move to the +# next target until the current target is finished. +# There is an intended deadlock here. +# hello.x:: recipe is started and its recipe blocks until file bye.x appears. +# bye.x cannot appear until bye.x:: recipe runs. bye.x:: recipe cannot run +# until hello.x:: recipe is finished. +# The test apparatus aborts the test in 10 seconds. + +run_make_test(q! +hello.x::; @#HELPER# -q wait bye.x out $@ +bye.x::; @#HELPER# sleep 1 file $@ +!, + 'hello.x bye.x', "wait bye.x: timeout after 10 seconds\n#MAKE#: *** [#MAKEFILE#:2: hello.x] Error 2\n", 512); +unlink('bye.x'); # This tells the test driver that the perl test script executed properly. 1; _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?64016> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/