Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make/unit-tests make(1): add test for .USE combined ...
details: https://anonhg.NetBSD.org/src/rev/0ff5c0ae4a2f
branches: trunk
changeset: 937142:0ff5c0ae4a2f
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Aug 09 16:32:28 2020 +0000
description:
make(1): add test for .USE combined with inference rule without commands
Discovered by christos.
diffstat:
distrib/sets/lists/tests/mi | 4 ++-
usr.bin/make/unit-tests/Makefile | 3 +-
usr.bin/make/unit-tests/use-inference.exp | 4 +++
usr.bin/make/unit-tests/use-inference.mk | 35 +++++++++++++++++++++++++++++++
4 files changed, 44 insertions(+), 2 deletions(-)
diffs (82 lines):
diff -r 4a358cc03e56 -r 0ff5c0ae4a2f distrib/sets/lists/tests/mi
--- a/distrib/sets/lists/tests/mi Sun Aug 09 15:54:13 2020 +0000
+++ b/distrib/sets/lists/tests/mi Sun Aug 09 16:32:28 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.887 2020/08/09 12:59:16 rillig Exp $
+# $NetBSD: mi,v 1.888 2020/08/09 16:32:28 rillig Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -4616,6 +4616,8 @@
./usr/tests/usr.bin/make/unit-tests/unexport-env.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/unexport.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/unexport.mk tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/use-inference.exp tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/use-inference.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/varcmd.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/varcmd.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/vardebug.exp tests-usr.bin-tests compattestfile,atf
diff -r 4a358cc03e56 -r 0ff5c0ae4a2f usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile Sun Aug 09 15:54:13 2020 +0000
+++ b/usr.bin/make/unit-tests/Makefile Sun Aug 09 16:32:28 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.90 2020/08/09 12:59:16 rillig Exp $
+# $NetBSD: Makefile,v 1.91 2020/08/09 16:32:28 rillig Exp $
#
# Unit tests for make(1)
#
@@ -79,6 +79,7 @@
TESTS+= ternary
TESTS+= unexport
TESTS+= unexport-env
+TESTS+= use-inference
TESTS+= varcmd
TESTS+= vardebug
TESTS+= varfind
diff -r 4a358cc03e56 -r 0ff5c0ae4a2f usr.bin/make/unit-tests/use-inference.exp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/use-inference.exp Sun Aug 09 16:32:28 2020 +0000
@@ -0,0 +1,4 @@
+Building use-inference.from from nothing
+make: don't know how to make use-inference.to (continuing)
+`all' not remade because of errors.
+exit status 0
diff -r 4a358cc03e56 -r 0ff5c0ae4a2f usr.bin/make/unit-tests/use-inference.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/use-inference.mk Sun Aug 09 16:32:28 2020 +0000
@@ -0,0 +1,35 @@
+# $NetBSD: use-inference.mk,v 1.1 2020/08/09 16:32:28 rillig Exp $
+#
+# Demonstrate that .USE rules do not have an effect on inference rules.
+# At least not in the special case where the inference rule does not
+# have any associated commands.
+
+.SUFFIXES:
+.SUFFIXES: .from .to
+
+all: use-inference.to
+
+verbose: .USE
+ @echo 'Verbosely making $@ out of $>'
+
+.from.to: verbose
+# Since this inference rule does not have any associated commands, it
+# is ignored.
+#
+# @echo 'Building $@ from $<'
+
+use-inference.from: # assume it exists
+ @echo 'Building $@ from nothing'
+
+# Possible but unproven explanation:
+#
+# The main target is "all", which depends on "use-inference.to".
+# The inference connects the .from to the .to file, otherwise make
+# would not know that the .from file would need to be built.
+#
+# The .from file is then built.
+#
+# After this, make stops since it doesn't know how to make the .to file.
+# This is strange since make definitely knows about the .from.to suffix
+# inference rule. But it seems to ignore it, maybe because it doesn't
+# have any associated commands.
Home |
Main Index |
Thread Index |
Old Index