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 tests for generating th...



details:   https://anonhg.NetBSD.org/src/rev/f2fd763e9b25
branches:  trunk
changeset: 945323:f2fd763e9b25
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Oct 25 22:04:24 2020 +0000

description:
make(1): add tests for generating the ... command indirectly

diffstat:

 usr.bin/make/unit-tests/sh-dots.exp |   7 +++++++
 usr.bin/make/unit-tests/sh-dots.mk  |  19 +++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diffs (58 lines):

diff -r a87e322c8242 -r f2fd763e9b25 usr.bin/make/unit-tests/sh-dots.exp
--- a/usr.bin/make/unit-tests/sh-dots.exp       Sun Oct 25 21:51:48 2020 +0000
+++ b/usr.bin/make/unit-tests/sh-dots.exp       Sun Oct 25 22:04:24 2020 +0000
@@ -9,7 +9,14 @@
 <normalized: ...: not found>
 *** Error code 127 (ignored)
 commented delayed commented
+indirect regular
+indirect-space regular
+... 
+make: exec(...) failed (No such file or directory)
+*** Error code 1 (ignored)
+indirect-space deferred
 first delayed first
 repeated delayed repeated
 repeated delayed twice repeated
+indirect deferred
 exit status 0
diff -r a87e322c8242 -r f2fd763e9b25 usr.bin/make/unit-tests/sh-dots.mk
--- a/usr.bin/make/unit-tests/sh-dots.mk        Sun Oct 25 21:51:48 2020 +0000
+++ b/usr.bin/make/unit-tests/sh-dots.mk        Sun Oct 25 22:04:24 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: sh-dots.mk,v 1.2 2020/10/18 18:12:42 rillig Exp $
+# $NetBSD: sh-dots.mk,v 1.3 2020/10/25 22:04:24 rillig Exp $
 #
 # Tests for the special shell command line "...", which does not run the
 # commands below it but appends them to the list of commands that are run
@@ -6,7 +6,7 @@
 
 .MAKEFLAGS: -d0                        # switch stdout to being line-buffered
 
-all: first hidden repeated commented
+all: first hidden repeated commented indirect indirect-space
 
 # The ${.TARGET} correctly expands to the target name, even though the
 # commands are run separately from the main commands.
@@ -29,6 +29,21 @@
        ...     # Run the below commands later
        @echo commented delayed ${.TARGET}
 
+# The dots don't have to be written literally, they can also come from a
+# variable expression.
+indirect:
+       @echo indirect regular
+       ${:U...}
+       @echo indirect deferred
+
+# If the dots are followed by a space, that space is part of the command and
+# thus does not defer the command below it.
+indirect-space: .IGNORE
+       @echo indirect-space regular
+       ${:U... }
+       @echo indirect-space deferred
+
+
 # The "..." can appear more than once, even though that doesn't make sense.
 # The second "..." is a no-op.
 repeated: .IGNORE



Home | Main Index | Thread Index | Old Index