aboutsummaryrefslogtreecommitdiff
path: root/contrib/bmake/unit-tests/opt-query.mk
diff options
context:
space:
mode:
authorSimon J. Gerraty <sjg@FreeBSD.org>2020-09-05 19:29:42 +0000
committerSimon J. Gerraty <sjg@FreeBSD.org>2020-09-05 19:29:42 +0000
commit2c3632d14fe37fa35c262ee9fb66835be0a52621 (patch)
tree57d0bb7a1e21c84dc625ee2f42c7677174a79c81 /contrib/bmake/unit-tests/opt-query.mk
parent08d0b468f14fec9d8d11eea0c7886f53df4eda2e (diff)
parent6bbc783f48498b808e19db4441299dc7d85a278b (diff)
downloadsrc-2c3632d14fe37fa35c262ee9fb66835be0a52621.tar.gz
src-2c3632d14fe37fa35c262ee9fb66835be0a52621.zip
Update to bmake-20200902
Lots of code refactoring, simplification and cleanup. Lots of new unit-tests providing much higher code coverage. All courtesy of rillig at netbsd. Other significant changes: o new read-only variable .SHELL which provides the path of the shell used to run scripts (as defined by the .SHELL target). o variable parsing detects more errors. o new debug option -dl: LINT mode, does the equivalent of := for all variable assignments so that file and line number are reported for variable parse errors.
Notes
Notes: svn path=/head/; revision=365366
Diffstat (limited to 'contrib/bmake/unit-tests/opt-query.mk')
-rw-r--r--contrib/bmake/unit-tests/opt-query.mk24
1 files changed, 24 insertions, 0 deletions
diff --git a/contrib/bmake/unit-tests/opt-query.mk b/contrib/bmake/unit-tests/opt-query.mk
new file mode 100644
index 000000000000..04e605991140
--- /dev/null
+++ b/contrib/bmake/unit-tests/opt-query.mk
@@ -0,0 +1,24 @@
+# $NetBSD: opt-query.mk,v 1.3 2020/08/19 05:13:18 rillig Exp $
+#
+# Tests for the -q command line option.
+#
+# The -q option only looks at the dependencies between the targets.
+# None of the commands in the targets are run, not even those that are
+# prefixed with '+'.
+
+# This command cannot be prevented from being run since it is used at parse
+# time, and any later variable assignments may depend on its result.
+!= echo 'command during parsing' 1>&2; echo
+
+# None of these commands are run.
+.BEGIN:
+ @echo '$@: hidden command'
+ @+echo '$@: run always'
+
+# None of these commands are run.
+all:
+ @echo '$@: hidden command'
+ @+echo '$@: run always'
+
+# The exit status 1 is because the "all" target has to be made, that is,
+# it is not up-to-date.