[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: