freebsd-src/unit-tests/sh-errctl.mk
Simon J. Gerraty 8e11a9b425 Import bmake-20210110
Quite a lot of churn on style, but lots of
good work refactoring complicated functions
and lots more unit-tests.
Thanks mostly to rillig at NetBSD

Some interesting entries from ChangeLog

o .MAKE.{UID,GID} represent uid and gid running make.

o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
  checks in InitObjdir.  Explicit .OBJDIR target always allows
  read-only directory.

o add more unit tests for META MODE

Change-Id: I4d3bcf08b4c864d98b343f602efe5a75dbfa7a94
2021-01-13 17:24:34 -08:00

27 lines
842 B
Makefile

# $NetBSD: sh-errctl.mk,v 1.1 2020/12/12 15:06:11 rillig Exp $
#
# Test a shell with error control. This only works in jobs mode; in compat
# mode, the default shell is always used, see InitShellNameAndPath.
#
# There is a subtle difference between error control and echo control.
# With error control, each simple command is checked, whereas with echo
# control, only the last command from each line is checked. A shell command
# line that behaves differently in these two modes is "false; true". In
# error control mode, this fails, while in echo control mode, it succeeds.
.MAKEFLAGS: -j1 -dj
.SHELL: \
name="sh" \
path="${.SHELL}" \
hasErrCtl="yes" \
check="\# error checking on\nset -e" \
ignore="\# error checking off\nset +e" \
echo="\# echo on" \
quiet="\# echo off"
all:
@echo silent
-echo ignerr; false
+echo always