Improved test framework
[userspace-rcu.git] / tests / benchmark / Makefile.am
index 9899f547f05c25ab7c034e7671551f0efcb2794e..c53e02587d80bad0f71eb1afb929627b1ea44aa7 100644 (file)
@@ -1,10 +1,13 @@
-AM_CFLAGS += $(PTHREAD_CFLAGS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_srcdir)/tests/common -g
+AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/tests/common
 
-SCRIPT_LIST = common.sh \
-       run.sh \
-       run-urcu-tests.sh \
-       runhash.sh \
-       runtests.sh \
+TEST_EXTENSIONS = .tap
+TAP_LOG_DRIVER_FLAGS = --merge --comments
+TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' \
+       URCU_TESTS_SRCDIR='$(abs_top_srcdir)/tests' \
+       URCU_TESTS_BUILDDIR='$(abs_top_builddir)/tests' \
+       $(SHELL) $(top_srcdir)/tests/utils/tap-driver.sh
+
+SCRIPT_LIST = \
        runpaul-phase1.sh \
        runpaul-phase2.sh \
        runpaul-phase3.sh \
@@ -12,16 +15,22 @@ SCRIPT_LIST = common.sh \
        runpaul-phase5.sh \
        runpaul-phase6.sh \
        runpaul-phase7.sh \
-       runtests-batch.sh \
        subphase4.sh
 
-dist_noinst_SCRIPTS = $(SCRIPT_LIST)
-
-TEST_LIST = regression_tests \
-       short_bench_tests \
-       long_bench_tests
+dist_noinst_SCRIPTS = \
+       runhash.sh \
+       runtests-batch.sh \
+       runtests.sh \
+       run-urcu-tests.sh \
+       $(SCRIPT_LIST)
 
-dist_noinst_DATA = $(TEST_LIST)
+dist_noinst_DATA = \
+       hashtable_1_seconds.tap \
+       urcu_1_seconds.tap
+       hashtable_3_seconds.tap \
+       urcu_3_seconds.tap
+       hashtable_30_seconds.tap \
+       urcu_30_seconds.tap
 
 noinst_PROGRAMS = test_urcu test_urcu_dynamic_link test_urcu_timing \
        test_urcu_signal test_urcu_signal_dynamic_link test_urcu_signal_timing \
@@ -214,25 +223,33 @@ test_urcu_hash_LDADD = $(URCU_QSBR_LIB) $(URCU_COMMON_LIB) $(URCU_CDS_LIB)
 
 all-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               for script in $(SCRIPT_LIST) $(TEST_LIST); do \
+               for script in $(SCRIPT_LIST); do \
                        cp -f $(srcdir)/$$script $(builddir); \
                done; \
        fi
 
 clean-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               for script in $(SCRIPT_LIST) $(TEST_LIST); do \
+               for script in $(SCRIPT_LIST); do \
                        rm -f $(builddir)/$$script; \
                done; \
        fi
 
 .PHONY: short_bench long_bench regtest
 
+# This empty variable is required to enable the TAP test suite for custom
+# targets like 'regtest' while keeping the default 'check' a noop.
+TESTS =
+
+SHORT_BENCH_TESTS = urcu_3_seconds.tap hashtable_3_seconds.tap
+LONG_BENCH_TESTS = urcu_30_seconds.tap hashtable_30_seconds.tap
+REGTEST_TESTS = urcu_1_seconds.tap hashtable_1_seconds.tap
+
 short_bench:
-       ./run.sh short_bench_tests
+       $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(SHORT_BENCH_TESTS)"
 
 long_bench:
-       ./run.sh long_bench_tests
+       $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(LONG_BENCH_TESTS)"
 
 regtest:
-       ./run.sh regression_tests
+       $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(REGTEST_TESTS)"
This page took 0.022959 seconds and 4 git commands to generate.