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 OP_SUBMAKE
details: https://anonhg.NetBSD.org/src/rev/5c03c243524d
branches: trunk
changeset: 942414:5c03c243524d
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Nov 07 23:25:06 2020 +0000
description:
make(1): add test for OP_SUBMAKE
diffstat:
usr.bin/make/unit-tests/Makefile | 4 ++-
usr.bin/make/unit-tests/gnode-submake.exp | 11 ++++++++
usr.bin/make/unit-tests/gnode-submake.mk | 42 +++++++++++++++++++++++++++++++
3 files changed, 56 insertions(+), 1 deletions(-)
diffs (86 lines):
diff -r 23b5c942e6c2 -r 5c03c243524d usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile Sat Nov 07 22:29:58 2020 +0000
+++ b/usr.bin/make/unit-tests/Makefile Sat Nov 07 23:25:06 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.189 2020/11/07 20:01:17 rillig Exp $
+# $NetBSD: Makefile,v 1.190 2020/11/07 23:25:06 rillig Exp $
#
# Unit tests for make(1)
#
@@ -172,6 +172,7 @@
TESTS+= export-variants
TESTS+= forloop
TESTS+= forsubst
+TESTS+= gnode-submake
TESTS+= hanoi-include
TESTS+= impsrc
TESTS+= include-main
@@ -440,6 +441,7 @@
# Some tests need an additional round of postprocessing.
POSTPROC.deptgt-suffixes= \
${TOOL_SED} -n -e '/^\#\*\*\* Suffixes/,/^\#\*/p'
+POSTPROC.gnode-submake= awk '/Input graph/, /^$$/'
POSTPROC.varname-empty= ${TOOL_SED} -n -e '/^Var_Set/p' -e '/^out:/p'
# Some tests reuse other tests, which makes them unnecessarily fragile.
diff -r 23b5c942e6c2 -r 5c03c243524d usr.bin/make/unit-tests/gnode-submake.exp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/gnode-submake.exp Sat Nov 07 23:25:06 2020 +0000
@@ -0,0 +1,11 @@
+#*** Input graph:
+# all, made UNMADE, type OP_DEPENDS, flags none
+# makeinfo, made UNMADE, type OP_DEPENDS|OP_HAS_COMMANDS, flags none
+# make-index, made UNMADE, type OP_DEPENDS|OP_SUBMAKE|OP_HAS_COMMANDS, flags none
+# braces-dot, made UNMADE, type OP_DEPENDS|OP_SUBMAKE|OP_HAS_COMMANDS, flags none
+# braces-no-dot, made UNMADE, type OP_DEPENDS|OP_SUBMAKE|OP_HAS_COMMANDS, flags none
+# braces-no-dot-modifier, made UNMADE, type OP_DEPENDS|OP_HAS_COMMANDS, flags none
+# parentheses-dot, made UNMADE, type OP_DEPENDS|OP_SUBMAKE|OP_HAS_COMMANDS, flags none
+# parentheses-no-dot, made UNMADE, type OP_DEPENDS|OP_SUBMAKE|OP_HAS_COMMANDS, flags none
+
+exit status 0
diff -r 23b5c942e6c2 -r 5c03c243524d usr.bin/make/unit-tests/gnode-submake.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/gnode-submake.mk Sat Nov 07 23:25:06 2020 +0000
@@ -0,0 +1,42 @@
+# $NetBSD: gnode-submake.mk,v 1.1 2020/11/07 23:25:06 rillig Exp $
+#
+# Test whether OP_SUBMAKE is determined correctly. If it is, this node's
+# shell commands are connected to the make process via pipes, to coordinate
+# the number of running jobs.
+#
+# Determining whether a node is a sub-make node happens when the node is
+# parsed. This information is only used in parallel mode, but the result
+# from parsing is available in compat mode as well.
+
+.MAKEFLAGS: -n -dg1
+
+all: makeinfo make-index
+all: braces-dot braces-no-dot
+all: braces-no-dot-modifier
+all: parentheses-dot parentheses-no-dot
+
+makeinfo:
+ # The command contains the substring "make", but not as a whole word.
+ : makeinfo submake
+
+make-index:
+ # The command contains the word "make", therefore it is considered a
+ # possible sub-make. It isn't really, but that doesn't hurt.
+ : make-index
+
+braces-dot:
+ : ${.MAKE}
+
+braces-no-dot:
+ : ${MAKE}
+
+braces-no-dot-modifier:
+ # The command refers to MAKE, but not in its pure form. Therefore it
+ # is not considered a sub-make.
+ : ${MAKE:T}
+
+parentheses-dot:
+ : $(.MAKE)
+
+parentheses-no-dot:
+ : $(MAKE)
Home |
Main Index |
Thread Index |
Old Index