make(1): test ignoring errors from shell commands in jobs mode

This commit is contained in:
rillig 2020-11-14 13:17:47 +00:00
parent 16e9b880fb
commit f7446908e0
2 changed files with 17 additions and 4 deletions

View File

@ -4,5 +4,9 @@ ignore
true in ignore
false in ignore
*** [ignore] Error code 1 (ignored)
false without indentation
false space
false tab
*** [ignore-cmds] Error code 1 (ignored)
.END
exit status 0

View File

@ -1,23 +1,32 @@
# $NetBSD: job-flags.mk,v 1.1 2020/11/07 20:01:17 rillig Exp $
# $NetBSD: job-flags.mk,v 1.2 2020/11/14 13:17:47 rillig Exp $
#
# Tests for Job.flags, which are controlled by special source dependencies
# like .SILENT or .IGNORE, as well as the command line options -s or -i.
.MAKEFLAGS: -j1
all: silent .WAIT ignore
all: silent .WAIT ignore .WAIT ignore-cmds
.BEGIN:
@echo $@
silent: .SILENT
silent: .SILENT .PHONY
echo $@
ignore: .IGNORE
ignore: .IGNORE .PHONY
@echo $@
true in $@
false in $@
@echo 'Still there in $@'
ignore-cmds: .PHONY
# This node is not marked .IGNORE; individual commands can be switched
# to ignore mode by prefixing them with a '-'.
-false without indentation
# This also works if the '-' is indented by a space or a tab.
# Leading whitespace is stripped off by ParseLine_ShellCommand.
-false space
-false tab
.END:
@echo $@