Author: aurel32
Date: 2008-08-09 05:00:05 +0000 (Sat, 09 Aug 2008)
New Revision: 3060

Added:
   glibc-package/branches/glibc-2.8/debian/testsuite-checking/
   glibc-package/branches/glibc-2.8/debian/testsuite-checking/README
   glibc-package/branches/glibc-2.8/debian/testsuite-checking/compare.sh
   glibc-package/branches/glibc-2.8/debian/testsuite-checking/convertlog.sh
   
glibc-package/branches/glibc-2.8/debian/testsuite-checking/expected-test-x86_64-linux-gnu-libc
Removed:
   glibc-package/branches/glibc-2.8/debian/maint/
Modified:
   glibc-package/branches/glibc-2.8/debian/changelog
   glibc-package/branches/glibc-2.8/debian/rules
   glibc-package/branches/glibc-2.8/debian/rules.d/build.mk
Log:
  * debian/rules, debian/rules.d/build.mk, debian/testsuite-checking/*:
    implementregression check, based on a patch from Carlos O'Donell.
  * testsuite-checking/expected-test-x86_64-linux-gnu-libc: new file.



Modified: glibc-package/branches/glibc-2.8/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.8/debian/changelog   2008-08-09 04:22:45 UTC 
(rev 3059)
+++ glibc-package/branches/glibc-2.8/debian/changelog   2008-08-09 05:00:05 UTC 
(rev 3060)
@@ -70,6 +70,9 @@
   * locale/check-unknown-symbols.diff: changes errors to warnings.
   * debian/control.in/main: update Standards-Version to 3.8.0:
     - Add debian/README.source.
+  * debian/rules, debian/rules.d/build.mk, debian/testsuite-checking/*:
+    implementregression check, based on a patch from Carlos O'Donell.
+  * testsuite-checking/expected-test-x86_64-linux-gnu-libc: new file.
 
  -- Aurelien Jarno <[EMAIL PROTECTED]>  Fri, 08 Aug 2008 05:48:15 +0200
 

Modified: glibc-package/branches/glibc-2.8/debian/rules
===================================================================
--- glibc-package/branches/glibc-2.8/debian/rules       2008-08-09 04:22:45 UTC 
(rev 3059)
+++ glibc-package/branches/glibc-2.8/debian/rules       2008-08-09 05:00:05 UTC 
(rev 3060)
@@ -116,13 +116,10 @@
 # Among other things this lets tests run.
 configure_build := $(DEB_BUILD_GNU_TYPE)
 
-ifneq ($(NO_LOG),yes)
-log_build   = $(build-tree)/log-build-$(call xx,configure_target)-$(curpass)
-log_test    = $(build-tree)/log-test-$(call xx,configure_target)-$(curpass)
-else
-log_build   := /dev/tty
-log_test    := /dev/tty
-endif
+log_build    = $(build-tree)/log-build-$(call xx,configure_target)-$(curpass)
+log_test     = $(build-tree)/log-test-$(call xx,configure_target)-$(curpass)
+log_results  = $(build-tree)/test-results-$(call 
xx,configure_target)-$(curpass)
+log_expected = debian/expected-results-$(call xx,configure_target)-$(curpass)
 
 # Which build pass are we on?
 curpass = $(filter-out %_,$(subst _,_ ,$@))

Modified: glibc-package/branches/glibc-2.8/debian/rules.d/build.mk
===================================================================
--- glibc-package/branches/glibc-2.8/debian/rules.d/build.mk    2008-08-09 
04:22:45 UTC (rev 3059)
+++ glibc-package/branches/glibc-2.8/debian/rules.d/build.mk    2008-08-09 
05:00:05 UTC (rev 3060)
@@ -95,31 +95,33 @@
 
 $(patsubst %,check_%,$(GLIBC_PASSES)) :: check_% : $(stamp)check_%
 $(stamp)check_%: $(stamp)build_%
-       if [ -n "$(findstring nocheck,$(DEB_BUILD_OPTIONS))" ]; then \
+       @if [ -n "$(findstring nocheck,$(DEB_BUILD_OPTIONS))" ]; then \
          echo "DEB_BUILD_OPTIONS contains nocheck, skipping tests."; \
-         echo "Tests have been disabled via DEB_BUILD_OPTIONS." > $(log_test) 
; \
+         echo "Tests have been disabled via DEB_BUILD_OPTIONS." > 
$(log_results) ; \
        elif [ $(call xx,configure_build) != $(call xx,configure_target) ] && \
             ! $(DEB_BUILDDIR)/elf/ld.so $(DEB_BUILDDIR)/libc.so >/dev/null 
2>&1 ; then \
          echo "Cross compiling, skipping tests."; \
-         echo "Flavour cross-compiled, tests have been skipped." > $(log_test) 
; \
+         echo "Flavour cross-compiled, tests have been skipped." > 
$(log_results) ; \
        elif ! $(call kernel_check,$(call xx,MIN_KERNEL_SUPPORTED)); then \
          echo "Kernel too old, skipping tests."; \
-         echo "Kernel too old, tests have been skipped." > $(log_test) ; \
-       elif uname -m | grep -q "^arm" && uname -r | grep -q "2\.6\.2[1-4]" ; 
then \
-         echo "ARM machine running a 2.6.21-24 kernel detected, tests have 
been skipped."; \
-         echo "ARM machine running a 2.6.21-24 kernel detected, tests have 
been skipped." > $(log_test) ; \
+         echo "Kernel too old, tests have been skipped." > $(log_results) ; \
        elif [ $(call xx,RUN_TESTSUITE) != "yes" ]; then \
          echo "Testsuite disabled for $(curpass), skipping tests."; \
-         echo "Tests have been disabled." > $(log_test) ; \
+         echo "Tests have been disabled." > $(log_results) ; \
        else \
          echo Testing $(curpass); \
-         echo -n "Testsuite started: " | tee -a $(log_test); \
-         date --rfc-2822 | tee -a $(log_test); \
-         echo "--------------" | tee -a $(log_test); \
+         find $(DEB_BUILDDIR) -name '*.out' -exec rm {} ';' ; \
          TIMEOUTFACTOR="$(TIMEOUTFACTOR)" $(MAKE) -C $(DEB_BUILDDIR) $(NJOBS) 
-k check 2>&1 | tee -a $(log_test); \
-         echo "--------------" | tee -a $(log_test); \
-         echo -n "Testsuite ended: " | tee -a $(log_test); \
-         date --rfc-2822 | tee -a $(log_test); \
+         chmod +x debian/testsuite-checking/convertlog.sh; \
+         debian/testsuite-checking/convertlog.sh $(log_test) > $(log_results) 
; \
+         if -f $(log_expected) ; then ; \
+           chmod +x debian/testsuite-checking/compare.sh ; \
+           debian/testsuite-checking/compare.sh $(log_expected) $(log_results) 
; \
+         else \
+           echo "***WARNING***" ; \
+           echo "Please generate expected testsuite results for this arch!" ; \
+           echo "***WARNING***" ; \
+         fi ; \
        fi
        touch $@
 

Added: glibc-package/branches/glibc-2.8/debian/testsuite-checking/README
===================================================================
--- glibc-package/branches/glibc-2.8/debian/testsuite-checking/README           
                (rev 0)
+++ glibc-package/branches/glibc-2.8/debian/testsuite-checking/README   
2008-08-09 05:00:05 UTC (rev 3060)
@@ -0,0 +1,17 @@
+Testsuite Regression Testing
+============================
+
+This directory contains a file for each arch/os, listing the allowed failures
+during a testsuite run for a given arch/os pair. The files are listed as
+"${arch-os}-test-results".  Where "${arch-os}" is extracted by rules as 
+"$(call xx,configure_target)".
+
+A script, "convertlog.sh", can be used to process the normal log-test-*
+file into a test-results-* file.
+
+Since we cannot run the testsuite without "-k", we run the enitre testsuite
+ignoring errors. Then we compare the error set with the expected errors, 
+differences in signal numbers or errors fails the build. If the architecture
+does not have a test-results-* file a warning is given and no comparison is
+made.
+

Added: glibc-package/branches/glibc-2.8/debian/testsuite-checking/compare.sh
===================================================================
--- glibc-package/branches/glibc-2.8/debian/testsuite-checking/compare.sh       
                        (rev 0)
+++ glibc-package/branches/glibc-2.8/debian/testsuite-checking/compare.sh       
2008-08-09 05:00:05 UTC (rev 3060)
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [ $# -ne '2' ]; then
+  echo -e "\nUsage: Compare a test-expected-* file and a test-results-* file."
+  echo -e "$0 : < Expected testsuite results > < Testsuite results >\n";
+  exit 1
+fi;
+
+REGRESSIONS=$(diff -wBI '^#.*' expected-test-x86_64-linux-gnu-libc /tmp/a | 
sed -e '/^>/!d;s/^> //g')
+if [ -n "$REGRESSIONS" ] ; then
+  echo "Encountered regressions that don't match expected failures:"
+  echo "$REGRESSIONS"
+  exit 1
+else
+  echo "Passed regression testing. No new failures, no changed error values."
+  exit 0
+fi
+


Property changes on: 
glibc-package/branches/glibc-2.8/debian/testsuite-checking/compare.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: glibc-package/branches/glibc-2.8/debian/testsuite-checking/convertlog.sh
===================================================================
--- glibc-package/branches/glibc-2.8/debian/testsuite-checking/convertlog.sh    
                        (rev 0)
+++ glibc-package/branches/glibc-2.8/debian/testsuite-checking/convertlog.sh    
2008-08-09 05:00:05 UTC (rev 3060)
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [ $# -ne '1' ]; then
+  echo -e "\nUsage: Converts a log-test-* file into a test-results-* file."
+  echo -e "$0 : < Input testsuite log file >\n";
+  exit 1
+fi;
+
+echo '#'
+echo '# Testsuite failures, someone should be working towards'
+echo '# fixing these! They are listed here for the purpose of'
+echo '# regression testing during builds.'
+echo '# Format: <Failed test>, Error <Make error code> [(ignored)]'
+echo '#'
+grep 'make\[.*\]:.* \[/.*' $1 | sed -e's,^.*/,,g' -e 's/\]/,/g' | sort


Property changes on: 
glibc-package/branches/glibc-2.8/debian/testsuite-checking/convertlog.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: 
glibc-package/branches/glibc-2.8/debian/testsuite-checking/expected-test-x86_64-linux-gnu-libc
===================================================================
--- 
glibc-package/branches/glibc-2.8/debian/testsuite-checking/expected-test-x86_64-linux-gnu-libc
                              (rev 0)
+++ 
glibc-package/branches/glibc-2.8/debian/testsuite-checking/expected-test-x86_64-linux-gnu-libc
      2008-08-09 05:00:05 UTC (rev 3060)
@@ -0,0 +1,7 @@
+#
+# Allowed failures for AMD64 and the returned make failure
+# number, indicating the signal the process died with.
+# Format: <Failed test>, Error <Make error code> [(ignored)]
+#
+annexc.out, Error 1
+check-localplt.out, Error 1


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to