summaryrefslogtreecommitdiffstats
path: root/make/make-3.81/tests/scripts/features/parallelism
diff options
context:
space:
mode:
Diffstat (limited to 'make/make-3.81/tests/scripts/features/parallelism')
-rw-r--r--make/make-3.81/tests/scripts/features/parallelism164
1 files changed, 0 insertions, 164 deletions
diff --git a/make/make-3.81/tests/scripts/features/parallelism b/make/make-3.81/tests/scripts/features/parallelism
deleted file mode 100644
index abe49a5..0000000
--- a/make/make-3.81/tests/scripts/features/parallelism
+++ /dev/null
@@ -1,164 +0,0 @@
-# -*-perl-*-
-
-$description = "Test parallelism (-j) option.";
-
-
-$details = "This test creates a makefile with two double-colon default
-rules. The first rule has a series of sleep and echo commands
-intended to run in series. The second and third have just an
-echo statement. When make is called in this test, it is given
-the -j option with a value of 4. This tells make that it may
-start up to four jobs simultaneously. In this case, since the
-first command is a sleep command, the output of the second
-and third commands will appear before the first if indeed
-make is running all of these commands in parallel.";
-
-if (!$parallel_jobs) {
- return -1;
-}
-
-if ($vos) {
- $sleep_command = "sleep -seconds";
-}
-else {
- $sleep_command = "sleep";
-}
-
-
-run_make_test("
-all : def_1 def_2 def_3
-def_1 : ; \@echo ONE; $sleep_command 3 ; echo TWO
-def_2 : ; \@$sleep_command 2 ; echo THREE
-def_3 : ; \@$sleep_command 1 ; echo FOUR",
- '-j4', "ONE\nFOUR\nTHREE\nTWO");
-
-# Test parallelism with included files. Here we sleep/echo while
-# building the included files, to test that they are being built in
-# parallel.
-run_make_test("
-all: 1 2; \@echo success
--include 1.inc 2.inc
-1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo ONE; $sleep_command 2; echo TWO' > \$\@
-2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; echo THREE' > \$\@",
- "-j4",
- "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
-
-unlink('1.inc', '2.inc');
-
-
-# Test parallelism with included files--this time recurse first and make
-# sure the jobserver works.
-run_make_test("
-recurse: ; \@\$(MAKE) --no-print-directory -f #MAKEFILE# INC=yes all
-all: 1 2; \@echo success
-
-INC = no
-ifeq (\$(INC),yes)
--include 1.inc 2.inc
-endif
-
-1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo ONE; $sleep_command 2; echo TWO' > \$\@
-2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; echo THREE' > \$\@",
- "-j4",
- "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
-
-unlink('1.inc', '2.inc');
-
-# Grant Taylor reports a problem where tokens can be lost (not written back
-# to the pipe when they should be): this happened when there is a $(shell ...)
-# function in an exported recursive variable. I added some code to check
-# for this situation and print a message if it occurred. This test used
-# to trigger this code when I added it but no longer does after the fix.
-
-run_make_test("
-export HI = \$(shell \$(\$\@.CMD))
-first.CMD = echo hi
-second.CMD = $sleep_command 4; echo hi
-
-.PHONY: all first second
-all: first second
-
-first second: ; \@echo \$\@; $sleep_command 1; echo \$\@",
- '-j2', "first\nfirst\nsecond\nsecond");
-
-# Michael Matz <matz@suse.de> reported a bug where if make is running in
-# parallel without -k and two jobs die in a row, but not too close to each
-# other, then make will quit without waiting for the rest of the jobs to die.
-
-run_make_test("
-.PHONY: all fail.1 fail.2 fail.3 ok
-all: fail.1 ok fail.2 fail.3
-
-fail.1 fail.2 fail.3:
- \@sleep \$(patsubst fail.%,%,\$\@)
- \@echo Fail
- \@exit 1
-
-ok:
- \@sleep 4
- \@echo Ok done",
- '-rR -j5', 'Fail
-#MAKE#: *** [fail.1] Error 1
-#MAKE#: *** Waiting for unfinished jobs....
-Fail
-#MAKE#: *** [fail.2] Error 1
-Fail
-#MAKE#: *** [fail.3] Error 1
-Ok done',
- 512);
-
-
-# Test for Savannah bug #15641.
-#
-run_make_test('
-.PHONY: all
-all:; @:
-
--include foo.d
-
-foo.d: comp
- @echo building $@
-
-comp: mod_a.o mod_b.o; @:
-
-mod_a.o mod_b.o:
- @exit 1
-', '-j2', '');
-
-
-# Make sure that all jobserver FDs are closed if we need to re-exec the
-# master copy.
-#
-# First, find the "default" file descriptors we normally use
-# Then make sure they're still used.
-#
-# Right now we don't have a way to run a makefile and capture the output
-# without checking it, so we can't really write this test.
-
-# run_make_test('
-# submake: ; @$(MAKE) --no-print-directory -f #MAKEFILE# fdprint 5>output
-
-# dependfile: ; @echo FOO=bar > $@
-
-# INCL := true
-
-# FOO=foo
-# ifeq ($(INCL),true)
-# -include dependfile
-# endif
-
-# fdprint: ; @echo $(filter --jobserver%,$(MAKEFLAGS))
-
-# recurse: ; @$(MAKE) --no-print-directory -f #MAKEFILE# submake INCL=true',
-# '-j2 INCL=false fdprint',
-# 'bar');
-
-# unlink('dependfile', 'output');
-
-
-# # Do it again, this time where the include is done by the non-master make.
-# run_make_test(undef, '-j2 recurse INCL=false', 'bar');
-
-# unlink('dependfile', 'output');
-
-1;