summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2009-06-09 15:35:38 +0000
committerPaul Smith <psmith@gnu.org>2009-06-09 15:35:38 +0000
commitd4ee0012925815e069dd9996241703a7e9bd0338 (patch)
tree0f43c9f155b5889d925b447b6b2ad2edf4695bc7 /tests
parenta72bff7cb3090051e75b631694aeb2bdb863aeb5 (diff)
downloadgunmake-d4ee0012925815e069dd9996241703a7e9bd0338.tar.gz
- Fix Savannah bug #18124
- Fix Savannah bug #17521 - Fix Savannah bug #16401 - Fix Savannah bug #16469 - Fix Savannah bug #16473
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog10
-rw-r--r--tests/scripts/features/parallelism23
-rw-r--r--tests/scripts/features/targetvars9
3 files changed, 42 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 244af41..a0e83e0 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,13 @@
+2009-06-09 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/parallelism: Add a test for re-exec with
+ jobserver master override. Savannah bug #18124.
+
+2009-06-08 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/targetvars: Add a test for continued target
+ vars after a semicolon. Savannah bug #17521.
+
2009-06-07 Paul Smith <psmith@gnu.org>
* scripts/features/se_explicit: Make sure we catch defining
diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism
index 11102f2..bce743c 100644
--- a/tests/scripts/features/parallelism
+++ b/tests/scripts/features/parallelism
@@ -140,6 +140,29 @@ intermed: | phony ; touch $@
phony: ; : phony', '-rR -j', ': phony');
unlink('target');
+# TEST #10: Don't put --jobserver-fds into a re-exec'd MAKEFLAGS.
+# We can't test this directly because there's no way a makefile can
+# show the value of MAKEFLAGS we were re-exec'd with. We can intuit it
+# by looking for "disabling jobserver mode" warnings; we should only
+# get one from the original invocation and none from the re-exec.
+# See Savannah bug #18124
+
+run_make_test(q!
+-include inc.mk
+recur:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @rm -f inc.mk
+ @$(MAKE) -j2 -f #MAKEFILE# all
+all:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @echo $@
+inc.mk:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @echo 'FOO = bar' > $@
+!,
+ '--no-print-directory -j2', "#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nall\n");
+
+unlink('inc.mk');
# Make sure that all jobserver FDs are closed if we need to re-exec the
# master copy.
diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars
index 3864bf8..ddd6c1f 100644
--- a/tests/scripts/features/targetvars
+++ b/tests/scripts/features/targetvars
@@ -237,6 +237,15 @@ a: ; @echo "$(FOO)"
run_make_test(undef, 'FOO=C', "C f1\n");
+# TEST #20: Check for continuation after semicolons
+
+run_make_test(q!
+a: A = 'hello; \
+world'
+a: ; @echo $(A)
+!,
+ '', "hello; world\n");
+
# TEST #19: Test define/endef variables as target-specific vars
# run_make_test('