Module Name: src Committed By: rillig Date: Wed Jan 26 22:47:03 UTC 2022
Modified Files: src/usr.bin/make/unit-tests: depsrc-meta.exp depsrc-meta.mk varname-dot-make-jobs.exp varname-dot-make-jobs.mk Log Message: tests/make: test meta mode in jobs mode To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/depsrc-meta.exp \ src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/depsrc-meta.mk cvs rdiff -u -r1.1 -r1.2 \ src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/unit-tests/depsrc-meta.exp diff -u src/usr.bin/make/unit-tests/depsrc-meta.exp:1.2 src/usr.bin/make/unit-tests/depsrc-meta.exp:1.3 --- src/usr.bin/make/unit-tests/depsrc-meta.exp:1.2 Fri Nov 27 08:36:10 2020 +++ src/usr.bin/make/unit-tests/depsrc-meta.exp Wed Jan 26 22:47:03 2022 @@ -2,4 +2,6 @@ Skipping meta for actual-test: no comman Skipping meta for .END: .SPECIAL Targets from meta mode: | TARGET depsrc-meta-target +Targets from meta mode in jobs mode: +| TARGET depsrc-meta-target exit status 0 Index: src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk diff -u src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk:1.2 src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk:1.3 --- src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk:1.2 Sun Aug 16 14:25:16 2020 +++ src/usr.bin/make/unit-tests/varname-dot-make-jobs.mk Wed Jan 26 22:47:03 2022 @@ -1,8 +1,24 @@ -# $NetBSD: varname-dot-make-jobs.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $ +# $NetBSD: varname-dot-make-jobs.mk,v 1.3 2022/01/26 22:47:03 rillig Exp $ # -# Tests for the special .MAKE.JOBS variable. +# Tests for the special .MAKE.JOBS variable, which is defined in jobs mode +# only. There it contains the number of jobs that may run in parallel. -# TODO: Implementation +.MAIN: all + +echo: .PHONY + @echo ${.MAKE.JOBS:Uundefined} all: - @:; + @${MAKE} -r -f ${MAKEFILE} echo + @${MAKE} -r -f ${MAKEFILE} echo -j1 + @${MAKE} -r -f ${MAKEFILE} echo -j5 + @${MAKE} -r -f ${MAKEFILE} echo -j20 + @${MAKE} -r -f ${MAKEFILE} echo -j00000000000000000000000000000001 + +# expect: undefined +# expect: 1 +# expect: 5 +# expect: 20 +# The value of .MAKE.JOBS is the exact text given in the command line, not the +# canonical number. This doesn't have practical consequences though. +# expect: 00000000000000000000000000000001 Index: src/usr.bin/make/unit-tests/depsrc-meta.mk diff -u src/usr.bin/make/unit-tests/depsrc-meta.mk:1.5 src/usr.bin/make/unit-tests/depsrc-meta.mk:1.6 --- src/usr.bin/make/unit-tests/depsrc-meta.mk:1.5 Wed Jan 26 22:19:25 2022 +++ src/usr.bin/make/unit-tests/depsrc-meta.mk Wed Jan 26 22:47:03 2022 @@ -1,4 +1,4 @@ -# $NetBSD: depsrc-meta.mk,v 1.5 2022/01/26 22:19:25 rillig Exp $ +# $NetBSD: depsrc-meta.mk,v 1.6 2022/01/26 22:47:03 rillig Exp $ # # Tests for the special source .META in dependency declarations. @@ -18,10 +18,13 @@ depsrc-meta-target: .META @rm -f ${.TARGET}-file check-results: - @echo 'Targets from meta mode:' + @echo 'Targets from meta mode${.MAKE.JOBS:D in jobs mode}:' @awk '/^TARGET/ { print "| " $$0 }' depsrc-meta-target.meta @rm depsrc-meta-target.meta all: - @${MAKE} -f ${MAKEFILE} actual-test - @${MAKE} -f ${MAKEFILE} check-results + @${MAKE} -r -f ${MAKEFILE} actual-test + @${MAKE} -r -f ${MAKEFILE} check-results + + @${MAKE} -r -f ${MAKEFILE} actual-test -j1 + @${MAKE} -r -f ${MAKEFILE} check-results -j1 Index: src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp diff -u src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp:1.1 src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp:1.2 --- src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp:1.1 Sun Aug 16 12:07:52 2020 +++ src/usr.bin/make/unit-tests/varname-dot-make-jobs.exp Wed Jan 26 22:47:03 2022 @@ -1 +1,8 @@ +undefined +1 +--- echo --- +5 +--- echo --- +20 +00000000000000000000000000000001 exit status 0