diff options
Diffstat (limited to 'make/make-3.81/tests/scripts/features/double_colon')
-rw-r--r-- | make/make-3.81/tests/scripts/features/double_colon | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/make/make-3.81/tests/scripts/features/double_colon b/make/make-3.81/tests/scripts/features/double_colon deleted file mode 100644 index cad605d..0000000 --- a/make/make-3.81/tests/scripts/features/double_colon +++ /dev/null @@ -1,155 +0,0 @@ -# -*-perl-*- -$description = "Test handling of double-colon rules."; - -$details = "\ -We test these features: - - - Multiple commands for the same (double-colon) target - - Different prerequisites for targets: only out-of-date - ones are rebuilt. - - Double-colon targets that aren't the goal target. - -Then we do the same thing for parallel builds: double-colon -targets should always be built serially."; - -# The Contents of the MAKEFILE ... - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; - -all: baz - -foo:: f1.h ; @echo foo FIRST -foo:: f2.h ; @echo foo SECOND - -bar:: ; @echo aaa; sleep 1; echo aaa done -bar:: ; @echo bbb - -baz:: ; @echo aaa -baz:: ; @echo bbb - -biz:: ; @echo aaa -biz:: two ; @echo bbb - -two: ; @echo two - -f1.h f2.h: ; @echo $@ - -d :: ; @echo ok -d :: d ; @echo oops - -EOF - -close(MAKEFILE); - -# TEST 0: A simple double-colon rule that isn't the goal target. - -&run_make_with_options($makefile, "all", &get_logfile, 0); -$answer = "aaa\nbbb\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 1: As above, in parallel - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 all", &get_logfile, 0); - $answer = "aaa\nbbb\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 2: A simple double-colon rule that is the goal target - -&run_make_with_options($makefile, "bar", &get_logfile, 0); -$answer = "aaa\naaa done\nbbb\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 3: As above, in parallel - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 bar", &get_logfile, 0); - $answer = "aaa\naaa done\nbbb\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 4: Each double-colon rule is supposed to be run individually - -&utouch(-5, 'f2.h'); -&touch('foo'); - -&run_make_with_options($makefile, "foo", &get_logfile, 0); -$answer = "f1.h\nfoo FIRST\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 5: Again, in parallel. - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); - $answer = "f1.h\nfoo FIRST\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 6: Each double-colon rule is supposed to be run individually - -&utouch(-5, 'f1.h'); -unlink('f2.h'); -&touch('foo'); - -&run_make_with_options($makefile, "foo", &get_logfile, 0); -$answer = "f2.h\nfoo SECOND\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 7: Again, in parallel. - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); - $answer = "f2.h\nfoo SECOND\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 8: Test circular dependency check; PR/1671 - -&run_make_with_options($makefile, "d", &get_logfile, 0); -$answer = "ok\n$make_name: Circular d <- d dependency dropped.\noops\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 8: I don't grok why this is different than the above, but it is... -# -# Hmm... further testing indicates this might be timing-dependent? -# -#if ($parallel_jobs) { -# &run_make_with_options($makefile, "-j10 biz", &get_logfile, 0); -# $answer = "aaa\ntwo\nbbb\n"; -# &compare_output($answer, &get_logfile(1)); -#} - -unlink('foo','f1.h','f2.h'); - - -# TEST 9: make sure all rules in s double colon family get executed -# (Savannah bug #14334). -# - -&touch('one'); -&touch('two'); - -run_make_test(' -.PHONY: all -all: result - -result:: one - @echo $^ >>$@ - @echo $^ - -result:: two - @echo $^ >>$@ - @echo $^ - -', -'', -'one -two'); - -unlink('result','one','two'); - -# This tells the test driver that the perl test script executed properly. -1; |