Browse Source

- add error-counter, do not immediately exit if a testcase fails but print
the overall error-counter at the end and exit accordingly.

Bernhard Reutner-Fischer 16 years ago
parent
commit
1a4af4684c
3 changed files with 11 additions and 2 deletions
  1. 2 1
      test/Makefile
  2. 2 0
      test/Rules.mak
  3. 7 1
      test/Test.mak

+ 2 - 1
test/Makefile

@@ -40,17 +40,18 @@ ifeq ($(HAS_NO_THREADS),y)
 endif
 DIRS := $(filter-out math,$(DIRS))
 
-
 test check all: run
 
 run: compile subdirs_run
 
 compile:subdirs_compile
+	@echo 0 > $(COUNTER)
 
 tags:
 	ctags -R
 
 clean: subdirs_clean
+	@rm -f $(COUNTER)
 
 subdirs: $(patsubst %, _dir_%, $(DIRS))
 subdirs_compile: $(patsubst %, _dircompile_%, $(DIRS))

+ 2 - 0
test/Rules.mak

@@ -13,6 +13,8 @@ top_builddir ?= ../
 
 TESTDIR=$(top_builddir)test/
 
+COUNTER = $(TESTDIR).errcounter
+
 include $(top_builddir)/Rules.mak
 ifndef TEST_INSTALLED_UCLIBC
 ifdef UCLIBC_LDSO

+ 7 - 1
test/Test.mak

@@ -30,6 +30,7 @@ endif
 ifeq ($(UCLIBC_ONLY),)
 TARGETS   += $(G_TARGETS)
 endif
+
 CLEAN_TARGETS := $(U_TARGETS) $(G_TARGETS)
 COMPILE_TARGETS :=  $(TARGETS)
 RUN_TARGETS := $(patsubst %,%.exe,$(TARGETS))
@@ -65,13 +66,18 @@ define exec_test
 	if ! test $$ret -eq $$expected_ret ; then \
 		echo "ret == $$ret ; expected_ret == $$expected_ret" ; \
 		cat "$(binary_name).out" ; \
-		exit 1 ; \
+		numerr="`cat $(COUNTER)`" ; \
+		expr $$numerr + 1 > $(COUNTER) ; \
 	fi
 	$(SCAT) "$(binary_name).out"
 endef
 
 test check all: run
 run: $(RUN_TARGETS) compile
+	@numerr="`cat $(COUNTER)`" ; \
+	echo "Encountered $$numerr errors" ; \
+	test $$numerr -eq 0 || exit 1
+
 $(RUN_TARGETS): $(TARGETS)
 	$(exec_test)
 	$(diff_test)