summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@kolpackov.net>2009-09-30 09:54:26 +0000
committerBoris Kolpackov <boris@kolpackov.net>2009-09-30 09:54:26 +0000
commit56653d852446e74a4d998c7d91e6591e28c240f9 (patch)
treed6d2368c9ab6edc0e0460a9813c1fa24f34d62e4 /tests
parentf907a4d90c895f04ee7497a5f1b58ad1fd3cddb5 (diff)
downloadgunmake-56653d852446e74a4d998c7d91e6591e28c240f9.tar.gz
Fix Savannah bugs #15110, #25493, #12686, and #17740.
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog6
-rw-r--r--tests/scripts/features/include52
2 files changed, 56 insertions, 2 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 5800d66..77b37e3 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
+
+ * scripts/features/include: Add diagnostics issuing tests for
+ cases where targets have been updated and failed with the
+ dontcare flag. Savannah bugs #15110, #25493, #12686, #17740.
+
2009-09-28 Paul Smith <psmith@gnu.org>
* scripts/functions/shell: Add regression test for Savannah bug
diff --git a/tests/scripts/features/include b/tests/scripts/features/include
index 196a987..7ad4112 100644
--- a/tests/scripts/features/include
+++ b/tests/scripts/features/include
@@ -90,8 +90,6 @@ all: ; @:
foo: bar; @:
', '', '');
-1;
-
# Make sure that we don't die when the command fails but we dontcare.
# (Savannah bug #13216).
@@ -117,4 +115,54 @@ include
-include
sinclude', '', '');
+
+# Test that the diagnostics is issued even if the target has been
+# tried before with the dontcare flag (direct dependency case).
+#
+run_make_test('
+-include foo
+
+all: bar
+
+foo: baz
+bar: baz
+',
+'',
+"#MAKE#: *** No rule to make target `baz', needed by `bar'. Stop.\n",
+512);
+
+# Test that the diagnostics is issued even if the target has been
+# tried before with the dontcare flag (indirect dependency case).
+#
+run_make_test('
+-include foo
+
+all: bar
+
+foo: baz
+bar: baz
+baz: end
+',
+'',
+"#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
+512);
+
+# Test that the diagnostics is issued even if the target has been
+# tried before with the dontcare flag (include/-include case).
+#
+run_make_test('
+include bar
+-include foo
+
+all:
+
+foo: baz
+bar: baz
+baz: end
+',
+'',
+"#MAKEFILE#:2: bar: No such file or directory
+#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
+512);
+
1;