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 test for the -dj debug ...
details: https://anonhg.NetBSD.org/src/rev/1753a9196b15
branches: trunk
changeset: 955518:1753a9196b15
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Oct 03 08:16:53 2020 +0000
description:
make(1): add test for the -dj debug option
diffstat:
usr.bin/make/unit-tests/Makefile | 6 +++++-
usr.bin/make/unit-tests/opt-debug-jobs.exp | 24 ++++++++++++++++++++++++
usr.bin/make/unit-tests/opt-debug-jobs.mk | 25 +++++++++++++++++++++----
3 files changed, 50 insertions(+), 5 deletions(-)
diffs (83 lines):
diff -r b251520ee474 -r 1753a9196b15 usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile Sat Oct 03 07:52:30 2020 +0000
+++ b/usr.bin/make/unit-tests/Makefile Sat Oct 03 08:16:53 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.156 2020/10/02 20:34:59 rillig Exp $
+# $NetBSD: Makefile,v 1.157 2020/10/03 08:16:53 rillig Exp $
#
# Unit tests for make(1)
#
@@ -403,6 +403,10 @@
SED_CMDS.opt-debug-graph1+= \
-e '/Global Variables:/,/Suffixes:/d'
SED_CMDS.sh-dots= -e 's,^.*\.\.\.:.*,<normalized: ...: not found>,'
+SED_CMDS.opt-debug-jobs= -e 's,([0-9][0-9]*),(<pid>),'
+SED_CMDS.opt-debug-jobs+= -e 's,pid [0-9][0-9]*,pid <pid>,'
+SED_CMDS.opt-debug-jobs+= -e 's,Process [0-9][0-9]*,Process <pid>,'
+SED_CMDS.opt-debug-jobs+= -e 's,JobFinish: [0-9][0-9]*,JobFinish: <pid>,'
SED_CMDS.varmod-subst-regex+= \
-e 's,\(Regex compilation error:\).*,\1 (details omitted),'
SED_CMDS.varmod-edge+= -e 's, line [0-9]*:, line omitted:,'
diff -r b251520ee474 -r 1753a9196b15 usr.bin/make/unit-tests/opt-debug-jobs.exp
--- a/usr.bin/make/unit-tests/opt-debug-jobs.exp Sat Oct 03 07:52:30 2020 +0000
+++ b/usr.bin/make/unit-tests/opt-debug-jobs.exp Sat Oct 03 08:16:53 2020 +0000
@@ -1,1 +1,25 @@
+job_pipe -1 -1, maxjobs 1, tokens 1, compat 0
+Job_TokenWithdraw(<pid>): aborting 0, running 0
+(<pid>) withdrew token
+echo ": expanded expression"
+{ : expanded expression
+} || exit $?
+echo ": variable"
+{ : variable
+} || exit $?
+echo ": 'single' and \"double\" quotes"
+{ : 'single' and "double" quotes
+} || exit $?
+Running all locally
+ Command: sh -q
+JobExec(all): pid <pid> added to jobs table
+job table @ job started
+job 0, status 3, flags 0, pid <pid>
+: expanded expression
+: variable
+: 'single' and "double" quotes
+Process <pid> exited/stopped status 0.
+JobFinish: <pid> [all], status 0
+Job_TokenWithdraw(<pid>): aborting 0, running 0
+(<pid>) withdrew token
exit status 0
diff -r b251520ee474 -r 1753a9196b15 usr.bin/make/unit-tests/opt-debug-jobs.mk
--- a/usr.bin/make/unit-tests/opt-debug-jobs.mk Sat Oct 03 07:52:30 2020 +0000
+++ b/usr.bin/make/unit-tests/opt-debug-jobs.mk Sat Oct 03 08:16:53 2020 +0000
@@ -1,9 +1,26 @@
-# $NetBSD: opt-debug-jobs.mk,v 1.1 2020/09/05 06:20:51 rillig Exp $
+# $NetBSD: opt-debug-jobs.mk,v 1.2 2020/10/03 08:16:53 rillig Exp $
#
-# Tests for the -da command line option, which adds debug logging about
+# Tests for the -dj command line option, which adds debug logging about
# running jobs in multiple shells.
-# TODO: Implementation
+.MAKEFLAGS: -dj
+
+# Run in parallel mode since the debug logging is more interesting there
+# than in compat mode.
+.MAKEFLAGS: -j1
all:
- @:;
+ # Only the actual command is logged.
+ # To see the evaluation of the variable expressions, use -dv.
+ : ${:Uexpanded} expression
+
+ # Undefined variables expand to empty strings.
+ # Multiple spaces are preserved in the command, as they might be
+ # significant.
+ : ${UNDEF} variable
+
+ # In the debug output, single quotes are not escaped, even though
+ # the whole command is enclosed in single quotes as well.
+ # This allows to copy and paste the whole command, without having
+ # to unescape anything.
+ : 'single' and "double" quotes
Home |
Main Index |
Thread Index |
Old Index