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 the -n option ...
details: https://anonhg.NetBSD.org/src/rev/8bea2f3e5882
branches: trunk
changeset: 946794:8bea2f3e5882
user: rillig <rillig%NetBSD.org@localhost>
date: Wed Dec 09 07:57:51 2020 +0000
description:
make(1): add test for the -n option combined with RunFlags
diffstat:
distrib/sets/lists/tests/mi | 4 +-
usr.bin/make/unit-tests/Makefile | 7 +++-
usr.bin/make/unit-tests/opt-jobs-no-action.mk | 9 +++-
usr.bin/make/unit-tests/opt-no-action-runflags.exp | 34 ++++++++++++++++++++++
usr.bin/make/unit-tests/opt-no-action-runflags.mk | 32 ++++++++++++++++++++
5 files changed, 81 insertions(+), 5 deletions(-)
diffs (150 lines):
diff -r 0d03358a135c -r 8bea2f3e5882 distrib/sets/lists/tests/mi
--- a/distrib/sets/lists/tests/mi Wed Dec 09 07:24:52 2020 +0000
+++ b/distrib/sets/lists/tests/mi Wed Dec 09 07:57:51 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.986 2020/12/09 00:25:00 rillig Exp $
+# $NetBSD: mi,v 1.987 2020/12/09 07:57:51 rillig Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -5229,6 +5229,8 @@
./usr/tests/usr.bin/make/unit-tests/opt-m-include-dir.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/opt-no-action-at-all.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/opt-no-action-at-all.mk tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/opt-no-action-runflags.exp tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/opt-no-action-runflags.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/opt-no-action.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/opt-no-action.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/opt-query.exp tests-usr.bin-tests compattestfile,atf
diff -r 0d03358a135c -r 8bea2f3e5882 usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile Wed Dec 09 07:24:52 2020 +0000
+++ b/usr.bin/make/unit-tests/Makefile Wed Dec 09 07:57:51 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.241 2020/12/09 00:25:00 rillig Exp $
+# $NetBSD: Makefile,v 1.242 2020/12/09 07:57:52 rillig Exp $
#
# Unit tests for make(1)
#
@@ -242,6 +242,7 @@
TESTS+= opt-m-include-dir
TESTS+= opt-no-action
TESTS+= opt-no-action-at-all
+TESTS+= opt-no-action-runflags
TESTS+= opt-query
TESTS+= opt-raw
TESTS+= opt-silent
@@ -475,6 +476,10 @@
SED_CMDS.opt-debug-jobs+= -e 's,Command: ${.SHELL:T},Command: <shell>,'
# The "-q" may be there or not, see jobs.c, variable shells.
SED_CMDS.opt-debug-jobs+= -e 's,^\(.Command: <shell>\) -q,\1,'
+SED_CMDS.opt-no-action-runflags= \
+ -e '/^echo hide-from-output/d' \
+ -e 's,hide-from-output ,,' \
+ -e 's,hide-from-output,,'
# For Compat_RunCommand, useShell == FALSE.
SED_CMDS.sh-dots= -e 's,^.*\.\.\.:.*,<not found: ...>,'
# For Compat_RunCommand, useShell == TRUE.
diff -r 0d03358a135c -r 8bea2f3e5882 usr.bin/make/unit-tests/opt-jobs-no-action.mk
--- a/usr.bin/make/unit-tests/opt-jobs-no-action.mk Wed Dec 09 07:24:52 2020 +0000
+++ b/usr.bin/make/unit-tests/opt-jobs-no-action.mk Wed Dec 09 07:57:51 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: opt-jobs-no-action.mk,v 1.3 2020/12/09 07:24:52 rillig Exp $
+# $NetBSD: opt-jobs-no-action.mk,v 1.4 2020/12/09 07:57:52 rillig Exp $
#
# Tests for the combination of the options -j and -n, which prints the
# commands instead of actually running them.
@@ -7,7 +7,11 @@
# without the -j. This is because all this code is implemented twice, once
# in compat.c and once in job.c.
#
-# See opt-jobs.mk for the corresponding tests without the -n option.
+# See also:
+# opt-jobs.mk
+# The corresponding tests without the -n option
+# opt-no-action-combined.mk
+# The corresponding tests without the -j option
.MAKEFLAGS: -j1 -n
@@ -61,7 +65,6 @@
# Test all combinations of the 3 RunFlags.
#
# TODO: Closely inspect the output whether it makes sense.
-# XXX: The output should not contain the 'echo silent=...' lines.
# XXX: silent=no always=no ignerr={no,yes} should be almost the same.
#
SILENT.no= # none
diff -r 0d03358a135c -r 8bea2f3e5882 usr.bin/make/unit-tests/opt-no-action-runflags.exp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/opt-no-action-runflags.exp Wed Dec 09 07:57:51 2020 +0000
@@ -0,0 +1,34 @@
+begin combined
+
+silent=no always=no ignerr=no
+echo running
+
+silent=no always=no ignerr=yes
+echo running; false
+
+silent=no always=yes ignerr=no
+echo running
+running
+
+silent=no always=yes ignerr=yes
+echo running; false
+running
+*** Error code 1 (ignored)
+
+silent=yes always=no ignerr=no
+echo running
+
+silent=yes always=no ignerr=yes
+echo running; false
+
+silent=yes always=yes ignerr=no
+echo running
+running
+
+silent=yes always=yes ignerr=yes
+echo running; false
+running
+*** Error code 1 (ignored)
+
+end combined
+exit status 0
diff -r 0d03358a135c -r 8bea2f3e5882 usr.bin/make/unit-tests/opt-no-action-runflags.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/opt-no-action-runflags.mk Wed Dec 09 07:57:51 2020 +0000
@@ -0,0 +1,32 @@
+# $NetBSD: opt-no-action-runflags.mk,v 1.1 2020/12/09 07:57:52 rillig Exp $
+#
+# Tests for the -n command line option, which runs almost no commands,
+# combined with the RunFlags '@', '-', '+' for individual commands.
+#
+# See also:
+# opt-jobs-no-action.mk
+# The corresponding test with the -j option
+
+.MAKEFLAGS: -n
+
+all: .PHONY combined
+
+SILENT.no= # none
+SILENT.yes= @
+ALWAYS.no= # none
+ALWAYS.yes= +
+IGNERR.no= echo running
+IGNERR.yes= -echo running; false
+#
+combined: .PHONY
+ @+echo hide-from-output 'begin $@'; echo
+.for silent in no yes
+. for always in no yes
+. for ignerr in no yes
+ @+echo hide-from-output silent=${silent} always=${always} ignerr=${ignerr}
+ ${SILENT.${silent}}${ALWAYS.${always}}${IGNERR.${ignerr}}
+ @+echo hide-from-output
+. endfor
+. endfor
+.endfor
+ @+echo hide-from-output 'end $@'
Home |
Main Index |
Thread Index |
Old Index