mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-22 10:48:02 +00:00
![Simon J. Gerraty](/assets/img/avatar_default.png)
Lots more unit tests and code cleanup Relevant changes from ChangeLog o job.c: Print -de error information when running multiple jobs o var.c: only report error for unmatched regex subexpression when linting (-dL) since we cannot tell when an unmatched subexpression is an expected result. reduce memory allocations in the modifiers ':D' and ':U' reduce memory allocation and strlen calls in modifier ':from=to' in the ':Q' modifier, only allocate memory if necessary improve performance for LazyBuf reduce debug logging and memory allocation for ${:U...} reduce verbosity of the -dv debug logging for standard cases fix double varname expansion in the variable modifier '::=' o var.c: avoid evaluating many modifiers in parse only mode in strict mode (-dL) many variable references are parsed twice, the first time just to report parse errors early, so we want to avoid side effects and wasted effort to the extent possible.
30 lines
1 KiB
Makefile
30 lines
1 KiB
Makefile
# $NetBSD: opt-chdir.mk,v 1.6 2021/05/18 17:05:45 sjg Exp $
|
|
#
|
|
# Tests for the -C command line option, which changes the directory at the
|
|
# beginning.
|
|
#
|
|
# This option has been available since 2009-08-27.
|
|
|
|
.MAKEFLAGS: -d0 # switch stdout to line-buffered
|
|
|
|
all: chdir-filename-too-long
|
|
all: chdir-root
|
|
all: chdir-nonexistent
|
|
|
|
# Try to overflow the internal buffer for .CURDIR, which is curdir.
|
|
chdir-filename-too-long: .PHONY .IGNORE
|
|
# 5000 slashes, separated by dots: /./././.../././
|
|
@${MAKE} -C ${:U:range=5000:@@/@:ts.}
|
|
|
|
# Changing to another directory is possible via the command line.
|
|
# In this test, it is the root directory since almost any other directory
|
|
# is not guaranteed to exist on every platform.
|
|
chdir-root: .PHONY .IGNORE
|
|
@MAKE_OBJDIR_CHECK_WRITABLE=no ${MAKE} -C / -V 'cwd: $${.CURDIR}'
|
|
|
|
# Trying to change to a nonexistent directory exits immediately.
|
|
# Note: just because the whole point of /nonexistent is that it should
|
|
# not exist - doesn't mean it doesn't.
|
|
chdir-nonexistent: .PHONY .IGNORE
|
|
@${MAKE} -C /nonexistent.${.MAKE.PID}
|