freebsd-src/unit-tests/varname-dot-shell.mk
Simon J. Gerraty 302da1a3d3 Import bmake-20201101
Lots of new unit-tests increase code coverage.

Lots of refactoring, cleanup and simlpification to reduce
code size.

Fixes for Bug 223564 and 245807

Updates to dirdeps.mk and meta2deps.py
2020-11-07 19:39:21 +00:00

37 lines
730 B
Makefile
Executable file

# $NetBSD: varname-dot-shell.mk,v 1.6 2020/10/30 16:09:56 rillig Exp $
#
# Tests for the special .SHELL variable, which contains the shell used for
# running the commands.
#
# This variable is read-only.
.MAKEFLAGS: -dcpv
ORIG_SHELL:= ${.SHELL}
.SHELL= overwritten
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
# Trying to append to the variable.
# Since 2020-10-30 this is prevented.
.MAKEFLAGS: .SHELL+=appended
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
# Trying to delete the variable.
# This has no effect since the variable is not defined in the global context,
# but in the command-line context.
.undef .SHELL
.SHELL= newly overwritten
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
.MAKEFLAGS: -d0
all:
@:;