threads / patch / 2837

patchDo not ignore errors during make check

Subject: [PATCH] Do not ignore errors during make check

## tl;dr

4 messages between Dec 14, 2005 and Dec 14, 2005. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Amos Waterland· Dec 14, 2005, 21:09 UTC · lore
Do not let errors pass by unnoticed when running `make check'.
Signed-off-by: Amos Waterland <apw@us.ibm.com>
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
20898ba8a3c6f78bb136626fddc34221df427116
Show changes to Makefile +1 −1
diff --git a/Makefile b/Makefile
index 01b6643..3f62bcb 100644
--- a/Makefile
+++ b/Makefile
@@ -449,7 +449,7 @@ test-delta$X: test-delta.c diff-delta.o 
 	$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $^
 
 check:
-	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
+	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || break; done
 
 
 
-- 
0.99.9.GIT
Junio C Hamano· Dec 14, 2005, 21:30 UTC · re: Amos Waterland · lore

Re: [PATCH] Do not ignore errors during make check

Amos Waterland <apw@us.ibm.com> writes:
Show 5 quoted lines
> Do not let errors pass by unnoticed when running `make check'.
> ...
>  check:
> -	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
> +	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || break; done

Good point but "|| exit" would be more appropriate. With the above patch, I suspect "make check" merely stops at the first error but resulting return code would still be zero, wouldn't it?

$ cat Makefile
check1:
	for i in 1 2 3 4; do echo testing $$i; test $$i -le 2 || break; done
check2:
	for i in 1 2 3 4; do echo testing $$i; test $$i -le 2 || exit; done
$ make check1
for i in 1 2 3 4; do echo testing $i; test $i -le 2 || break; done
testing 1
testing 2
testing 3
$ make check2
for i in 1 2 3 4; do echo testing $i; test $i -le 2 || exit; done
testing 1
testing 2
testing 3
make: *** [check2] Error 1
$ exit
Amos Waterland· Dec 14, 2005, 21:44 UTC · re: Junio C Hamano · lore

Re: [PATCH] Do not ignore errors during make check

On Wed, Dec 14, 2005 at 01:30:16PM -0800, Junio C Hamano wrote:
> Good point but "|| exit" would be more appropriate.  With the
> above patch, I suspect "make check" merely stops at the first
> error but resulting return code would still be zero, wouldn't
> it?
Yes, here is a patch that uses exit instead of break.
---
Do not let errors pass by unnoticed when running `make check'.
Signed-off-by: Amos Waterland <apw@us.ibm.com>
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
bc721e2d99487c0240514a848ac1cb84c086e008
Show changes to Makefile +1 −1
diff --git a/Makefile b/Makefile
index 01b6643..d494ad4 100644
--- a/Makefile
+++ b/Makefile
@@ -449,7 +449,7 @@ test-delta$X: test-delta.c diff-delta.o 
 	$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $^
 
 check:
-	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
+	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; done
 
 
 
-- 
0.99.9.GIT
Linus Torvalds· Dec 14, 2005, 23:38 UTC · re: Amos Waterland · lore

Re: [PATCH] Do not ignore errors during make check

On Wed, 14 Dec 2005, Amos Waterland wrote:
>
>  check:
> -	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
> +	for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || break; done
Actually, you might be better off with just
	sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) *.c

these days. It will cause some interesting warnings (it actually cross-checks things, and is unhappy about multiple "main()" declarations with different types ;), but especially with eventual libification it might even be a good idea to try to avoid global functions with the same names in different programs ("main", of course, is special, sparse is just too stupid to know).

		Linus

← back to recent threads