]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - unit-tests/sh-errctl.mk
Import bmake-20220330
[FreeBSD/FreeBSD.git] / unit-tests / sh-errctl.mk
1 # $NetBSD: sh-errctl.mk,v 1.1 2020/12/12 15:06:11 rillig Exp $
2 #
3 # Test a shell with error control.  This only works in jobs mode; in compat
4 # mode, the default shell is always used, see InitShellNameAndPath.
5 #
6 # There is a subtle difference between error control and echo control.
7 # With error control, each simple command is checked, whereas with echo
8 # control, only the last command from each line is checked.  A shell command
9 # line that behaves differently in these two modes is "false; true".  In
10 # error control mode, this fails, while in echo control mode, it succeeds.
11
12 .MAKEFLAGS: -j1 -dj
13
14 .SHELL: \
15         name="sh" \
16         path="${.SHELL}" \
17         hasErrCtl="yes" \
18         check="\# error checking on\nset -e" \
19         ignore="\# error checking off\nset +e" \
20         echo="\# echo on" \
21         quiet="\# echo off"
22
23 all:
24         @echo silent
25         -echo ignerr; false
26         +echo always