Module Name: src
Committed By: rillig
Date: Sun Dec 13 17:44:31 UTC 2020
Modified Files:
src/distrib/sets/lists/tests: mi
src/usr.bin/make/unit-tests: Makefile
Added Files:
src/usr.bin/make/unit-tests: compat-error.exp compat-error.mk
Log Message:
make(1): demonstrate wrong error handling in compat mode
To generate a diff of this commit:
cvs rdiff -u -r1.992 -r1.993 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.248 -r1.249 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/compat-error.exp \
src/usr.bin/make/unit-tests/compat-error.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.992 src/distrib/sets/lists/tests/mi:1.993
--- src/distrib/sets/lists/tests/mi:1.992 Sun Dec 13 00:46:25 2020
+++ src/distrib/sets/lists/tests/mi Sun Dec 13 17:44:31 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.992 2020/12/13 00:46:25 rillig Exp $
+# $NetBSD: mi,v 1.993 2020/12/13 17:44:31 rillig Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -4830,6 +4830,8 @@
./usr/tests/usr.bin/make/unit-tests/cmdline.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/comment.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/comment.mk tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/compat-error.exp tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/compat-error.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/cond-cmp-numeric-eq.exp tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/make/unit-tests/cond-cmp-numeric-ge.exp tests-usr.bin-tests compattestfile,atf
Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.248 src/usr.bin/make/unit-tests/Makefile:1.249
--- src/usr.bin/make/unit-tests/Makefile:1.248 Sun Dec 13 05:13:38 2020
+++ src/usr.bin/make/unit-tests/Makefile Sun Dec 13 17:44:31 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.248 2020/12/13 05:13:38 sjg Exp $
+# $NetBSD: Makefile,v 1.249 2020/12/13 17:44:31 rillig Exp $
#
# Unit tests for make(1)
#
@@ -46,6 +46,7 @@ TESTS+= cmd-interrupt
TESTS+= cmdline
TESTS+= cmdline-undefined
TESTS+= comment
+TESTS+= compat-error
TESTS+= cond-cmp-numeric
TESTS+= cond-cmp-numeric-eq
TESTS+= cond-cmp-numeric-ge
Added files:
Index: src/usr.bin/make/unit-tests/compat-error.exp
diff -u /dev/null src/usr.bin/make/unit-tests/compat-error.exp:1.1
--- /dev/null Sun Dec 13 17:44:31 2020
+++ src/usr.bin/make/unit-tests/compat-error.exp Sun Dec 13 17:44:31 2020
@@ -0,0 +1,15 @@
+: Making success1 out of nothing.
+: Making fail1 out of nothing.
+false
+*** Error code 1 (continuing)
+: Making success2 out of nothing.
+: Making fail2 out of nothing.
+false
+*** Error code 1 (continuing)
+: Making success3 out of nothing.
+
+Stop.
+make: stopped in unit-tests
+target: success3
+command:
+exit status 1
Index: src/usr.bin/make/unit-tests/compat-error.mk
diff -u /dev/null src/usr.bin/make/unit-tests/compat-error.mk:1.1
--- /dev/null Sun Dec 13 17:44:31 2020
+++ src/usr.bin/make/unit-tests/compat-error.mk Sun Dec 13 17:44:31 2020
@@ -0,0 +1,33 @@
+# $NetBSD: compat-error.mk,v 1.1 2020/12/13 17:44:31 rillig Exp $
+#
+# Test detailed error handling in compat mode.
+#
+# XXX: As of 2020-12-13, .ERROR_TARGET is success3, which is wrong.
+#
+# XXX: As of 2020-12-13, .ERROR_CMD is empty, which is wrong.
+#
+# See also:
+# Compat_Run
+#
+# The commit that added the NULL command to gn->commands:
+# CVS: 1994.06.06.22.45.??
+# Git: 26a8972fd7f982502c5fbfdabd34578b99d77ca5
+# 1994: Lst_Replace (cmdNode, (ClientData) NULL);
+# 2020: LstNode_SetNull(cmdNode);
+#
+# The commit that skipped NULL commands for .ERROR_CMD:
+# CVS: 2016.08.11.19.53.??
+# Git: 58b23478b7353d46457089e726b07a49197388e4
+
+.MAKEFLAGS: success1 fail1 success2 fail2 success3
+
+success1 success2 success3:
+ : Making ${.TARGET} out of nothing.
+
+fail1 fail2:
+ : Making ${.TARGET} out of nothing.
+ false
+
+.ERROR:
+ @echo target: ${.ERROR_TARGET}
+ @echo command: ${.ERROR_CMD}