Bug#982360: test all passes before failing the build (in case of regressions)
Package: src:glibc
Version: 2.31-9
Tags: patch
test all passes before failing the build (in case of regressions). I'd like to
see everything which probably needs fixing, not just the first failure.
* Run checks for every pass before failing the build.
diff --git a/debian/rules b/debian/rules
index cc11e6d2..b6fde574 100755
--- a/debian/rules
+++ b/debian/rules
@@ -203,7 +203,24 @@ clean:: unpatch
# Required Debian targets
build-arch: $(stamp)info \
$(patsubst %,$(stamp)build_%,$(GLIBC_PASSES)) \
- $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES))
+ $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES)) \
+ post-check
+post-check: $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES))
+ @echo "CHECK SUMMARY"
+ @for pass in $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES)); do \
+ if [ -f $${pass}_passed ]; then \
+ echo "check for $$(basename $$pass) passed"; \
+ fi; \
+ done
+ @fail=0; \
+ for pass in $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES)); do \
+ if [ -f $${pass}_failed ]; then \
+ echo "check for $$(basename $$pass) failed"; \
+ fail=1; \
+ fi; \
+ done; \
+ exit $$fail
+
ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
build-arch: $(stamp)build_C.UTF-8 \
$(stamp)build_locales-all
diff --git a/debian/rules.d/build.mk b/debian/rules.d/build.mk
index 3ede4f5d..74c7a2f1 100644
--- a/debian/rules.d/build.mk
+++ b/debian/rules.d/build.mk
@@ -170,12 +170,13 @@ $(stamp)check_%: $(stamp)build_%
echo "+---------------------------------------------------------------------+" ; \
grep -E '^FAIL:' $(DEB_BUILDDIR)/tests.sum | sort ; \
if ! dpkg-parsechangelog | egrep -q '^Version:.*\+deb[0-9]+u[0-9]+' ; then \
- exit 1 ; \
+ touch $@_failed ; \
fi ; \
else \
echo "+---------------------------------------------------------------------+" ; \
echo "| Passed regression testing. Give yourself a hearty pat on the back. |" ; \
echo "+---------------------------------------------------------------------+" ; \
+ touch $@_passed ; \
fi ; \
fi
touch $@
Reply to: