Module Name:    src
Committed By:   rillig
Date:           Sun Sep 10 11:41:33 UTC 2023

Modified Files:
        src/usr.bin/make: main.c
        src/usr.bin/make/unit-tests: opt-jobs.mk

Log Message:
make: add more details to usage message of -j option


To generate a diff of this commit:
cvs rdiff -u -r1.597 -r1.598 src/usr.bin/make/main.c
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/opt-jobs.mk

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/main.c
diff -u src/usr.bin/make/main.c:1.597 src/usr.bin/make/main.c:1.598
--- src/usr.bin/make/main.c:1.597	Sun Sep 10 10:18:05 2023
+++ src/usr.bin/make/main.c	Sun Sep 10 11:41:32 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.597 2023/09/10 10:18:05 rillig Exp $	*/
+/*	$NetBSD: main.c,v 1.598 2023/09/10 11:41:32 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -111,7 +111,7 @@
 #include "trace.h"
 
 /*	"@(#)main.c	8.3 (Berkeley) 3/19/94"	*/
-MAKE_RCSID("$NetBSD: main.c,v 1.597 2023/09/10 10:18:05 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.598 2023/09/10 11:41:32 rillig Exp $");
 #if defined(MAKE_NATIVE) && !defined(lint)
 __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
 	    "The Regents of the University of California.  "
@@ -424,8 +424,9 @@ MainParseArgJobs(const char *arg)
 #endif
 	if (*p != '\0' || opts.maxJobs < 1) {
 		(void)fprintf(stderr,
-		    "%s: illegal argument to -j -- must be positive integer!\n",
-		    progname);
+		    "%s: argument '%s' to option '-j' "
+		    "must be a positive number\n",
+		    progname, arg);
 		exit(2);	/* Not 1 so -q can distinguish error */
 	}
 	snprintf(v, sizeof(v), "%d", opts.maxJobs);

Index: src/usr.bin/make/unit-tests/opt-jobs.mk
diff -u src/usr.bin/make/unit-tests/opt-jobs.mk:1.3 src/usr.bin/make/unit-tests/opt-jobs.mk:1.4
--- src/usr.bin/make/unit-tests/opt-jobs.mk:1.3	Sun Sep 10 11:00:55 2023
+++ src/usr.bin/make/unit-tests/opt-jobs.mk	Sun Sep 10 11:41:33 2023
@@ -1,22 +1,23 @@
-# $NetBSD: opt-jobs.mk,v 1.3 2023/09/10 11:00:55 rillig Exp $
+# $NetBSD: opt-jobs.mk,v 1.4 2023/09/10 11:41:33 rillig Exp $
 #
 # Tests for the -j command line option, which creates the targets in parallel.
 
 
 # The option '-j <integer>' specifies the number of targets that can be made
 # in parallel.
-ARGS=		0 1 2 8 08 0x10 -5 1000
-EXPECT.0=	illegal argument to -j -- must be positive integer! exit 2
+ARGS=		0 1 2 8 08 017 0x10 -5 1000
+EXPECT.0=	argument '0' to option '-j' must be a positive number (exit 2)
 EXPECT.1=	1
 EXPECT.2=	2
 EXPECT.8=	8
-EXPECT.08=	illegal argument to -j -- must be positive integer! exit 2
+EXPECT.08=	argument '08' to option '-j' must be a positive number (exit 2)
+EXPECT.017=	15
 EXPECT.0x10=	16
-EXPECT.-5=	illegal argument to -j -- must be positive integer! exit 2
+EXPECT.-5=	argument '-5' to option '-j' must be a positive number (exit 2)
 EXPECT.1000=	1000
 
 .for arg in ${ARGS}
-OUTPUT!=	${MAKE} -r -f /dev/null -j ${arg} -v .MAKE.JOBS 2>&1 || echo exit $$?
+OUTPUT!=	${MAKE} -r -f /dev/null -j ${arg} -v .MAKE.JOBS 2>&1 || echo "(exit $$?)"
 .  if ${OUTPUT:[2..-1]} != ${EXPECT.${arg}}
 .      warning ${arg}:${.newline}    have: ${OUTPUT:[2..-1]}${.newline}    want: ${EXPECT.${arg}}
 .  endif
@@ -25,20 +26,22 @@ OUTPUT!=	${MAKE} -r -f /dev/null -j ${ar
 
 # The options '-j <float>' and '-j <integer>C' multiply the given number with
 # the number of available CPUs.
-ARGS=		0.0 .5 .5C 1C 1CPUs 1.2 .5e1C 07.5C 08.5C
-EXPECT.0.0=	illegal argument to -j -- must be positive integer! exit 2
-EXPECT..5=	<integer>		# rounded up to 1 if necessary
-EXPECT..5C=	<integer>		# rounded up to 1 if necessary
+ARGS=		0.0 0C 0.0C .00001 .00001C 1C 1CPUs 1.2 .5e1C 07.5C 08.5C
+EXPECT.0.0=	argument '0.0' to option '-j' must be a positive number (exit 2)
+EXPECT.0C=	<integer>		# rounded up to 1C
+EXPECT.0.0C=	argument '0.0C' to option '-j' must be a positive number (exit 2)
+EXPECT..00001=	argument '.00001' to option '-j' must be a positive number (exit 2)
+EXPECT..00001C=	argument '.00001C' to option '-j' must be a positive number (exit 2)
 EXPECT.1C=	<integer>
 EXPECT.1CPUs=	<integer>
 EXPECT.1.2=	<integer>
 EXPECT..5e1C=	<integer>		# unlikely to occur in practice
 EXPECT.07.5C=	<integer>
-EXPECT.08.5C=	illegal argument to -j -- must be positive integer! exit 2
+EXPECT.08.5C=	argument '08.5C' to option '-j' must be a positive number (exit 2)
 
 .if ${.MAKE.JOBS.C}
 .  for arg in ${ARGS}
-OUTPUT!=	${MAKE} -r -f /dev/null -j ${arg} -v .MAKE.JOBS 2>&1 || echo exit $$?
+OUTPUT!=	${MAKE} -r -f /dev/null -j ${arg} -v .MAKE.JOBS 2>&1 || echo "(exit $$?)"
 .    if ${OUTPUT:C,^[0-9]+$,numeric,W} == numeric
 OUTPUT=		<integer>
 .    endif

Reply via email to