3
@echo "Usage: make (init|cleanup|unskip)"
6
include Makefile.setup.include
10
TEST_REPORTER = ./reporter.pl
12
TEST_FLAG_DIR = ./flags
14
JUNIT_LOG = $(TEST_LOG_DIR)/junit_log.xml# see also reporter.pl@JUNITLOGNAME
16
PATCHNAMEBASE:=TestsOk
19
VALGRIND_INTERNAL=$(findstring B,$(VALGRIND))$(findstring A,$(VALGRIND))
20
VALGRIND_EXTERNAL=$(findstring E,$(VALGRIND))
21
VALGRIND_ANY=$(VALGRIND_INTERNAL)$(VALGRIND_EXTERNAL)
23
# -------------------- build patch name
25
ifneq ('$(RESTRICT_LIB)','')
26
PATCHNAMESUFFIX:=$(PATCHNAMESUFFIX)__only_$(RESTRICT_LIB)
29
ifneq ($(RESTRICT_MODULE),'.')
30
PATCHNAMESUFFIX:=$(PATCHNAMESUFFIX)__notAllFiles
33
SKIPPED_SLOW:=$(shell (test -f skipslow.stamp && ls -1 skipslow.stamp))
34
ifneq ('$(SKIPPED_SLOW)','')
35
PATCHNAMESUFFIX:=$(PATCHNAMESUFFIX)__SLOW_skipped
38
ifneq ('$(VALGRIND_ANY)','')
39
PATCHNAMESUFFIX:=$(PATCHNAMESUFFIX)__valgrinded_$(VALGRIND_ANY)
42
PATCHNAMESUFFIX:=$(subst :,_,$(PATCHNAMESUFFIX))
44
# -------------------- targets
47
@echo "$(TEST_BASE)/Makefile.suite:45: Error: Failed to clean environment"
48
@echo "If there are any changing|failed*.flag files listed here:"
49
@ls -al $(TEST_FLAG_DIR)/changing*.flag $(TEST_FLAG_DIR)/failed*.flag
50
@echo "then some test_environment failed to setup or cleanup properly!"
51
@echo "[Note: removing flag-files now to avoid failure of next test-run]"
52
rm $(TEST_FLAG_DIR)/changing*.flag $(TEST_FLAG_DIR)/failed*.flag
53
@echo "$(TEST_BASE)/$(TEST_LOG_DIR):0: Hint: if no error is reported further below, you may also find the cause in these log-files"
54
@grep -Pin 'arb-backtrace|segv' $(TEST_BASE)/$(TEST_LOG_DIR)/*.log | grep -v 'GBK_install_SIGSEGV_handler'
55
# do NOT fail here, otherwise reporter will get no chance to list failure-reason
58
./test_environment clean || $(MAKE) -f Makefile.suite failed_to_clean
59
ifeq ($(VALGRIND_EXTERNAL),E)
60
./valgrind/arb_valgrind_logged WAIT
63
tests_passed: cleanup_environment
64
@$(TEST_REPORTER) report $(TEST_LOG_DIR) $(SKIP_SLOW)
66
update_patches_if_passed: tests_passed
67
@../SOURCE_TOOLS/arb_create_patch.sh $(PATCHNAMEBASE)$(PATCHNAMESUFFIX)
68
@../SOURCE_TOOLS/arb_cleanup_patches.pl $(PATCHNAMEBASE) $(PATCHES_KEEP_HOURS) $(PATCHES_MIN_KEPT)
71
@(test -f skipslow.stamp && rm skipslow.stamp) || true
74
@echo "$(SEP) Running unit tests"
76
#ifeq ($(VALGRIND_EXTERNAL),E)
77
./valgrind/arb_valgrind_logged INIT "$(VALGRIND_EXTERNAL)" $(CHECK_LEAKS)
79
(export CHECK_RESTRICT=$(RESTRICT_LIB); $(TEST_REPORTER) init $(TEST_LOG_DIR) $(SKIP_SLOW))
81
cleanup: update_patches_if_passed
83
@echo "$(SEP) All unit tests passed"