Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/make/unit-tests make(1): add tests for some of the s...



details:   https://anonhg.NetBSD.org/src/rev/91f840dea6df
branches:  trunk
changeset: 938276:91f840dea6df
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sat Sep 05 15:57:12 2020 +0000

description:
make(1): add tests for some of the special sources

diffstat:

 usr.bin/make/unit-tests/depsrc-exec.exp      |   1 +
 usr.bin/make/unit-tests/depsrc-exec.mk       |  18 +++++++++++++-----
 usr.bin/make/unit-tests/depsrc-made.exp      |   2 ++
 usr.bin/make/unit-tests/depsrc-made.mk       |  17 ++++++++++++-----
 usr.bin/make/unit-tests/depsrc-make.exp      |   2 ++
 usr.bin/make/unit-tests/depsrc-make.mk       |  18 +++++++++++++-----
 usr.bin/make/unit-tests/depsrc-notmain.exp   |   1 +
 usr.bin/make/unit-tests/depsrc-notmain.mk    |  11 +++++++----
 usr.bin/make/unit-tests/depsrc-optional.exp  |   1 +
 usr.bin/make/unit-tests/depsrc-optional.mk   |  20 +++++++++++++++-----
 usr.bin/make/unit-tests/depsrc-phony.exp     |   1 +
 usr.bin/make/unit-tests/depsrc-phony.mk      |  13 +++++++------
 usr.bin/make/unit-tests/depsrc-recursive.exp |   2 ++
 usr.bin/make/unit-tests/depsrc-recursive.mk  |  18 +++++++++++++-----
 14 files changed, 90 insertions(+), 35 deletions(-)

diffs (209 lines):

diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-exec.exp
--- a/usr.bin/make/unit-tests/depsrc-exec.exp   Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-exec.exp   Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,2 @@
+: depsrc-exec.mk: This is always executed.
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-exec.mk
--- a/usr.bin/make/unit-tests/depsrc-exec.mk    Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-exec.mk    Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,16 @@
-# $NetBSD: depsrc-exec.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-exec.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .EXEC in dependency declarations.
+# Tests for the special source .EXEC in dependency declarations,
+# which always executes the commands, even if the target is up to date.
+# The target itself is considered up to date.
+#
+# TODO: Describe possible use cases for .EXEC.
 
-# TODO: Implementation
+all: ${MAKEFILE} ${MAKEFILE:H}/depsrc.mk
 
-all:
-       @:;
+${MAKEFILE}: .EXEC
+       : ${.TARGET:T}: This is always executed.
+
+${MAKEFILE:H}/depsrc.mk:
+       : This is not executed.
+       +: ${.TARGET:T}: This is not executed as well.
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-made.exp
--- a/usr.bin/make/unit-tests/depsrc-made.exp   Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-made.exp   Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,3 @@
+: Making chapter21
+: Making chapter22
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-made.mk
--- a/usr.bin/make/unit-tests/depsrc-made.mk    Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-made.mk    Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,15 @@
-# $NetBSD: depsrc-made.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-made.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .MADE in dependency declarations.
+# Tests for the special source .MADE in dependency declarations,
+# which marks all its dependencies as already made, so their commands
+# don't need to be executed.
+#
+# TODO: Describe a possible use case for .MADE.
 
-# TODO: Implementation
+all: part1 part2
 
-all:
-       @:;
+part1: chapter11 chapter12 .MADE
+part2: chapter21 chapter22
+
+chapter11 chapter12 chapter21 chapter22:
+       : Making ${.TARGET}
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-make.exp
--- a/usr.bin/make/unit-tests/depsrc-make.exp   Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-make.exp   Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,3 @@
+this-is-made is made.
+echo this-is-not-made is just echoed.
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-make.mk
--- a/usr.bin/make/unit-tests/depsrc-make.mk    Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-make.mk    Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,16 @@
-# $NetBSD: depsrc-make.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-make.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .MAKE in dependency declarations.
+# Tests for the special source .MAKE in dependency declarations, which
+# executes the commands of the target even if the -n or -t command line
+# options are given.
+
+.MAKEFLAGS: -n
 
-# TODO: Implementation
+all: this-is-made
+all: this-is-not-made
 
-all:
-       @:;
+this-is-made: .MAKE
+       @echo ${.TARGET} is made.
+
+this-is-not-made:
+       @echo ${.TARGET} is just echoed.
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-notmain.exp
--- a/usr.bin/make/unit-tests/depsrc-notmain.exp        Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-notmain.exp        Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,2 @@
+: all
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-notmain.mk
--- a/usr.bin/make/unit-tests/depsrc-notmain.mk Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-notmain.mk Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,11 @@
-# $NetBSD: depsrc-notmain.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-notmain.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .NOTMAIN in dependency declarations.
+# Tests for the special source .NOTMAIN in dependency declarations,
+# which prevents the associated target from becoming the default target
+# to be made.
 
-# TODO: Implementation
+ignored: .NOTMAIN
+       : ${.TARGET}
 
 all:
-       @:;
+       : ${.TARGET}
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-optional.exp
--- a/usr.bin/make/unit-tests/depsrc-optional.exp       Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-optional.exp       Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,2 @@
+`all' is up to date.
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-optional.mk
--- a/usr.bin/make/unit-tests/depsrc-optional.mk        Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-optional.mk        Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,18 @@
-# $NetBSD: depsrc-optional.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-optional.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .OPTIONAL in dependency declarations.
+# Tests for the special source .OPTIONAL in dependency declarations,
+# which ignores the target if make cannot find out how to create it.
+#
+# TODO: Describe practical use cases for this feature.
 
-# TODO: Implementation
+# TODO: Explain why the commands for "important" are not executed.
+# I had thought that only the "optional" commands were skipped.
+
+all: important
+       : ${.TARGET} is made.
 
-all:
-       @:;
+important: optional
+       : ${.TARGET} is made.
+
+optional: .OPTIONAL
+       : This is not executed.
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-phony.exp
--- a/usr.bin/make/unit-tests/depsrc-phony.exp  Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-phony.exp  Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,2 @@
+: depsrc-phony.mk is made.
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-phony.mk
--- a/usr.bin/make/unit-tests/depsrc-phony.mk   Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-phony.mk   Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,9 @@
-# $NetBSD: depsrc-phony.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-phony.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .PHONY in dependency declarations.
+# Tests for the special source .PHONY in dependency declarations,
+# which executes the commands for the target even if a file of the same
+# name exists and would be considered up to date.
 
-# TODO: Implementation
-
-all:
-       @:;
+# Without the .PHONY, this target would be "up to date".
+${MAKEFILE}: .PHONY
+       : ${.TARGET:T} is made.
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-recursive.exp
--- a/usr.bin/make/unit-tests/depsrc-recursive.exp      Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-recursive.exp      Sat Sep 05 15:57:12 2020 +0000
@@ -1,1 +1,3 @@
+this-is-made is made.
+echo this-is-not-made is just echoed.
 exit status 0
diff -r 9cb00298fa0c -r 91f840dea6df usr.bin/make/unit-tests/depsrc-recursive.mk
--- a/usr.bin/make/unit-tests/depsrc-recursive.mk       Sat Sep 05 15:12:03 2020 +0000
+++ b/usr.bin/make/unit-tests/depsrc-recursive.mk       Sat Sep 05 15:57:12 2020 +0000
@@ -1,8 +1,16 @@
-# $NetBSD: depsrc-recursive.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-recursive.mk,v 1.3 2020/09/05 15:57:12 rillig Exp $
 #
-# Tests for the special source .RECURSIVE in dependency declarations.
+# Tests for the special source .RECURSIVE in dependency declarations,
+# which executes the commands of the target even if the -n or -t command
+# line options are given.
+
+.MAKEFLAGS: -n
 
-# TODO: Implementation
+all: this-is-made
+all: this-is-not-made
 
-all:
-       @:;
+this-is-made: .RECURSIVE
+       @echo ${.TARGET} is made.
+
+this-is-not-made:
+       @echo ${.TARGET} is just echoed.



Home | Main Index | Thread Index | Old Index