Module Name: src
Committed By: rillig
Date: Fri Apr 26 17:11:22 UTC 2024
Modified Files:
src/usr.bin/make: job.c
src/usr.bin/make/unit-tests: opt-debug-errors-jobs.exp
Log Message:
make: in parallel mode, print the directory in which a job failed
When multiple targets run in parallel, the "stopped in" line may be
several lines away from the "Failed target" line, making them hard to
correlate.
To generate a diff of this commit:
cvs rdiff -u -r1.468 -r1.469 src/usr.bin/make/job.c
cvs rdiff -u -r1.4 -r1.5 \
src/usr.bin/make/unit-tests/opt-debug-errors-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/job.c
diff -u src/usr.bin/make/job.c:1.468 src/usr.bin/make/job.c:1.469
--- src/usr.bin/make/job.c:1.468 Sat Apr 20 10:18:55 2024
+++ src/usr.bin/make/job.c Fri Apr 26 17:11:22 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: job.c,v 1.468 2024/04/20 10:18:55 rillig Exp $ */
+/* $NetBSD: job.c,v 1.469 2024/04/26 17:11:22 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -141,7 +141,7 @@
#include "trace.h"
/* "@(#)job.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: job.c,v 1.468 2024/04/20 10:18:55 rillig Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.469 2024/04/26 17:11:22 rillig Exp $");
/*
* A shell defines how the commands are run. All commands for a target are
@@ -1062,6 +1062,7 @@ DebugFailedJob(const Job *job)
debug_printf("\n");
debug_printf("*** Failed target: %s\n", job->node->name);
+ debug_printf("*** In directory: %s\n", curdir);
debug_printf("*** Failed commands:\n");
for (ln = job->node->commands.first; ln != NULL; ln = ln->next) {
const char *cmd = ln->datum;
Index: src/usr.bin/make/unit-tests/opt-debug-errors-jobs.exp
diff -u src/usr.bin/make/unit-tests/opt-debug-errors-jobs.exp:1.4 src/usr.bin/make/unit-tests/opt-debug-errors-jobs.exp:1.5
--- src/usr.bin/make/unit-tests/opt-debug-errors-jobs.exp:1.4 Sun Nov 28 00:02:07 2021
+++ src/usr.bin/make/unit-tests/opt-debug-errors-jobs.exp Fri Apr 26 17:11:22 2024
@@ -2,6 +2,7 @@ echo '3 spaces'; false
3 spaces
*** Failed target: fail-spaces
+*** In directory: <curdir>
*** Failed commands:
echo '3 spaces'; false
*** [fail-spaces] Error code 1
@@ -11,6 +12,7 @@ echo \ indented; false
indented
*** Failed target: fail-escaped-space
+*** In directory: <curdir>
*** Failed commands:
echo \ indented; false
*** [fail-escaped-space] Error code 1
@@ -22,6 +24,7 @@ line1
line2
*** Failed target: fail-newline
+*** In directory: <curdir>
*** Failed commands:
echo 'line1${.newline}line2'; false
=> echo 'line1
@@ -33,6 +36,7 @@ echo 'line1 line2'; false
line1 line2
*** Failed target: fail-multiline
+*** In directory: <curdir>
*** Failed commands:
echo 'line1 line2'; false
*** [fail-multiline] Error code 1
@@ -42,6 +46,7 @@ echo 'word1' 'word2'; false
word1 word2
*** Failed target: fail-multiline-intention
+*** In directory: <curdir>
*** Failed commands:
echo 'word1' 'word2'; false
*** [fail-multiline-intention] Error code 1
@@ -49,6 +54,7 @@ word1 word2
make: stopped in unit-tests
*** Failed target: fail-vars
+*** In directory: <curdir>
*** Failed commands:
@${COMPILE_C} ${COMPILE_C_FLAGS}
=> @false c-compiler flag1 -macro="several words"