Tests: Replace prove by autotools tap runner
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 8 Dec 2017 16:00:17 +0000 (11:00 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 20 Feb 2018 17:18:30 +0000 (12:18 -0500)
This patch removes the dependency on the prove perl script
to run the TAP test suite. It replaces it with the autotools
shell TAP driver that only requires a shell and awk.

Custom arguments can be passed to the test runner with
env variables as follow:

  env LOG_DRIVER_FLAGS='--comments --ignore-exit' \
      TESTS='foo.test baz.test' make -e check

This tap driver also creates a log file for each test that
can then be used by another system to build a test report.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
82 files changed:
.gitignore
Makefile.am
configure.ac
tests/Makefile.am
tests/benchmark/Makefile.am
tests/benchmark/hashtable_1_seconds.tap [new file with mode: 0755]
tests/benchmark/hashtable_30_seconds.tap [new file with mode: 0755]
tests/benchmark/hashtable_3_seconds.tap [new file with mode: 0755]
tests/benchmark/long_bench_tests [deleted file]
tests/benchmark/regression_tests [deleted file]
tests/benchmark/run.sh [deleted file]
tests/benchmark/short_bench_tests [deleted file]
tests/benchmark/urcu_1_seconds.tap [new file with mode: 0755]
tests/benchmark/urcu_30_seconds.tap [new file with mode: 0755]
tests/benchmark/urcu_3_seconds.tap [new file with mode: 0755]
tests/regression/Makefile.am
tests/regression/rcutorture_urcu_bp_perf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_perf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_perf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_rperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_rperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_rperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_stress_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_stress_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_stress_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_uperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_uperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_bp_uperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_perf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_perf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_perf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_rperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_rperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_rperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_stress_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_stress_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_stress_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_uperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_uperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_mb_uperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_perf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_rperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_stress_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_uperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_perf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_rperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_stress_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_uperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_perf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_perf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_perf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_rperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_rperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_rperf_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_stress_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_stress_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_stress_perthread.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_uperf_global.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_uperf_percpu.tap.in [new file with mode: 0644]
tests/regression/rcutorture_urcu_signal_uperf_perthread.tap.in [new file with mode: 0644]
tests/regression/regression_tests.in [deleted file]
tests/regression/run.sh [deleted file]
tests/unit/Makefile.am
tests/unit/run.sh [deleted file]
tests/unit/test_loop [deleted file]
tests/unit/unit_tests [deleted file]

index 7e7242a..d02ed09 100644 (file)
@@ -10,14 +10,13 @@ tests/unit/test_urcu_multiflavor_dynlink
 
 tests/utils/libtap.a
 
-tests/regression/rcutorture_qsbr
-tests/regression/rcutorture_urcu
+tests/regression/rcutorture_urcu_membarrier
 tests/regression/rcutorture_urcu_bp
 tests/regression/rcutorture_urcu_mb
 tests/regression/rcutorture_urcu_qsbr
 tests/regression/rcutorture_urcu_signal
-tests/regression/test_urcu_fork
-tests/regression/regression_tests
+tests/regression/test_urcu_fork.tap
+tests/regression/rcutorture*.tap
 
 tests/benchmark/test_rwlock_timing
 tests/benchmark/test_urcu
@@ -130,6 +129,8 @@ Makefile
 *.o
 *.lo
 *.loT
+*.log
+*.trs
 /config.log
 /configure
 /config/compile
@@ -139,6 +140,7 @@ Makefile
 /config/install-sh
 /config/ltmain.sh
 /config/missing
+/config/test-driver
 /aclocal.m4
 /m4/libtool.m4
 /m4/lt~obsolete.m4
index dacbb3b..4b28966 100644 (file)
@@ -11,10 +11,12 @@ EXTRA_DIST = gpl-2.0.txt \
        lgpl-2.1.txt \
        lgpl-relicensing.txt
 
-.PHONY: short_bench long_bench regtest
+.PHONY: short_bench long_bench regtest check-loop
 short_bench:
        cd tests && $(MAKE) $(AM_MAKEFLAGS) short_bench
 long_bench:
        cd tests && $(MAKE) $(AM_MAKEFLAGS) long_bench
 regtest:
        cd tests && $(MAKE) $(AM_MAKEFLAGS) regtest
+check-loop:
+       cd tests && $(MAKE) $(AM_MAKEFLAGS) check-loop
index d2777d5..d0b4a9a 100644 (file)
@@ -18,6 +18,8 @@ AM_MAINTAINER_MODE([enable])
 # Enable silent rules if available (Introduced in AM 1.11)
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+AC_REQUIRE_AUX_FILE([tap-driver.sh])
+
 AH_TEMPLATE([CONFIG_RCU_SMP], [Enable SMP support. With SMP support enabled, uniprocessors are also supported. With SMP support disabled, UP systems work fine, but the behavior of SMP systems is undefined.])
 AH_TEMPLATE([CONFIG_RCU_HAVE_FENCE], [Defined when on a system that has memory fence instructions.])
 AH_TEMPLATE([CONFIG_RCU_HAVE_FUTEX], [Defined when on a system with futex support.])
@@ -388,7 +390,6 @@ AC_CONFIG_FILES([
        tests/unit/Makefile
        tests/benchmark/Makefile
        tests/regression/Makefile
-       tests/regression/regression_tests
        tests/utils/Makefile
        src/liburcu.pc
        src/liburcu-bp.pc
@@ -397,6 +398,69 @@ AC_CONFIG_FILES([
        src/liburcu-mb.pc
        src/liburcu-signal.pc
 ])
+
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_perthread.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_global.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_percpu.tap])
+AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_perthread.tap])
+
+
 AC_OUTPUT
 
 #
index 03f3f29..8e0e6d1 100644 (file)
@@ -1,6 +1,6 @@
 SUBDIRS = utils common unit benchmark regression
 
-.PHONY: short_bench long_bench regtest
+.PHONY: short_bench long_bench regtest check-loop
 
 short_bench:
        cd benchmark && $(MAKE) $(AM_MAKEFLAGS) short_bench
@@ -9,3 +9,11 @@ long_bench:
 regtest:
        cd regression && $(MAKE) $(AM_MAKEFLAGS) regtest
        cd benchmark && $(MAKE) $(AM_MAKEFLAGS) regtest
+
+check-loop:
+       while [ 0 ]; do \
+               $(MAKE) $(AM_MAKEFLAGS) check; \
+               if [ "$$?" != "0" ]; then \
+                       break; \
+               fi \
+       done
index 216d013..5068d0e 100644 (file)
@@ -1,7 +1,11 @@
 AM_CFLAGS += -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_srcdir)/tests/common -g
 
+TEST_EXTENSIONS = .tap
+TAP_LOG_DRIVER_FLAGS = --merge --comments
+TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
+       $(top_srcdir)/config/tap-driver.sh
+
 SCRIPT_LIST = common.sh \
-       run.sh \
        run-urcu-tests.sh \
        runhash.sh \
        runtests.sh \
@@ -17,11 +21,13 @@ SCRIPT_LIST = common.sh \
 
 dist_noinst_SCRIPTS = $(SCRIPT_LIST)
 
-TEST_LIST = regression_tests \
-       short_bench_tests \
-       long_bench_tests
-
-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 \
@@ -228,11 +234,19 @@ clean-local:
 
 .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)"
diff --git a/tests/benchmark/hashtable_1_seconds.tap b/tests/benchmark/hashtable_1_seconds.tap
new file mode 100755 (executable)
index 0000000..48c4adb
--- /dev/null
@@ -0,0 +1 @@
+./runhash.sh 1
diff --git a/tests/benchmark/hashtable_30_seconds.tap b/tests/benchmark/hashtable_30_seconds.tap
new file mode 100755 (executable)
index 0000000..0c40ef8
--- /dev/null
@@ -0,0 +1 @@
+./runhash.sh 30
diff --git a/tests/benchmark/hashtable_3_seconds.tap b/tests/benchmark/hashtable_3_seconds.tap
new file mode 100755 (executable)
index 0000000..031aa77
--- /dev/null
@@ -0,0 +1 @@
+./runhash.sh 3
diff --git a/tests/benchmark/long_bench_tests b/tests/benchmark/long_bench_tests
deleted file mode 100644 (file)
index 244f3c4..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-./run-urcu-tests.sh 30
-./runhash.sh 30
diff --git a/tests/benchmark/regression_tests b/tests/benchmark/regression_tests
deleted file mode 100644 (file)
index 436c330..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-./run-urcu-tests.sh 1
-./runhash.sh 1
diff --git a/tests/benchmark/run.sh b/tests/benchmark/run.sh
deleted file mode 100755 (executable)
index 1ec7e5e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2013 - Christian Babeux <christian.babeux@efficios.com>
-#               2016 - Michael Jeanson <mjeanson@efficios.com>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; only version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-
-INPUT=$1
-ARGS=()
-shift 1
-
-if [ -z "${INPUT}" ]; then
-    echo "Error: No testlist. Please specify a testlist to run."
-    exit 1
-fi
-
-if [ "x$V" == "x1" ]; then
-    ARGS+=('-v')
-fi
-
-prove "${@}" "${ARGS[@]}" --merge --exec '' - < "${INPUT}"
diff --git a/tests/benchmark/short_bench_tests b/tests/benchmark/short_bench_tests
deleted file mode 100644 (file)
index 9d01067..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-./run-urcu-tests.sh 3
-./runhash.sh 3
diff --git a/tests/benchmark/urcu_1_seconds.tap b/tests/benchmark/urcu_1_seconds.tap
new file mode 100755 (executable)
index 0000000..8553ed9
--- /dev/null
@@ -0,0 +1 @@
+./run-urcu-tests.sh 1
diff --git a/tests/benchmark/urcu_30_seconds.tap b/tests/benchmark/urcu_30_seconds.tap
new file mode 100755 (executable)
index 0000000..5c13dd9
--- /dev/null
@@ -0,0 +1 @@
+./run-urcu-tests.sh 30
diff --git a/tests/benchmark/urcu_3_seconds.tap b/tests/benchmark/urcu_3_seconds.tap
new file mode 100755 (executable)
index 0000000..51f4412
--- /dev/null
@@ -0,0 +1 @@
+./run-urcu-tests.sh 3
index c7d102f..183fefe 100644 (file)
@@ -1,13 +1,12 @@
 AM_CFLAGS += -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common -g
 
-SCRIPT_LIST = run.sh
+TEST_EXTENSIONS = .tap
+TAP_LOG_DRIVER_FLAGS = --merge --comments
+TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
+       $(top_srcdir)/config/tap-driver.sh
 
-dist_noinst_SCRIPTS = $(SCRIPT_LIST)
-
-dist_noinst_DATA = regression_tests.in
-
-noinst_PROGRAMS = test_urcu_fork \
-       rcutorture_urcu \
+noinst_PROGRAMS = test_urcu_fork.tap \
+       rcutorture_urcu_membarrier \
        rcutorture_urcu_signal \
        rcutorture_urcu_mb \
        rcutorture_urcu_bp \
@@ -24,12 +23,12 @@ URCU_BP_LIB=$(top_builddir)/src/liburcu-bp.la
 URCU_CDS_LIB=$(top_builddir)/src/liburcu-cds.la
 TAP_LIB=$(top_builddir)/tests/utils/libtap.a
 
-test_urcu_fork_SOURCES = test_urcu_fork.c
-test_urcu_fork_LDADD = $(URCU_LIB) $(TAP_LIB)
+test_urcu_fork_tap_SOURCES = test_urcu_fork.c
+test_urcu_fork_tap_LDADD = $(URCU_LIB) $(TAP_LIB)
 
-rcutorture_urcu_SOURCES = urcutorture.c
-rcutorture_urcu_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS)
-rcutorture_urcu_LDADD = $(URCU_LIB) $(TAP_LIB)
+rcutorture_urcu_membarrier_SOURCES = urcutorture.c
+rcutorture_urcu_membarrier_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS)
+rcutorture_urcu_membarrier_LDADD = $(URCU_LIB) $(TAP_LIB)
 
 rcutorture_urcu_mb_SOURCES = urcutorture.c
 rcutorture_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS)
@@ -49,21 +48,73 @@ rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) $(TAP_LIB)
 
 urcutorture.c: ../common/api.h
 
-all-local:
-       @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               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); do \
-                       rm -f $(builddir)/$$script; \
-               done; \
-       fi
-
 .PHONY: 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 =
+
+REGTEST_TESTS = test_urcu_fork.tap \
+       rcutorture_urcu_bp_perf_global.tap \
+       rcutorture_urcu_bp_perf_percpu.tap \
+       rcutorture_urcu_bp_perf_perthread.tap \
+       rcutorture_urcu_bp_rperf_global.tap \
+       rcutorture_urcu_bp_rperf_percpu.tap \
+       rcutorture_urcu_bp_rperf_perthread.tap \
+       rcutorture_urcu_bp_stress_global.tap \
+       rcutorture_urcu_bp_stress_percpu.tap \
+       rcutorture_urcu_bp_stress_perthread.tap \
+       rcutorture_urcu_bp_uperf_global.tap \
+       rcutorture_urcu_bp_uperf_percpu.tap \
+       rcutorture_urcu_bp_uperf_perthread.tap \
+       rcutorture_urcu_mb_perf_global.tap \
+       rcutorture_urcu_mb_perf_percpu.tap \
+       rcutorture_urcu_mb_perf_perthread.tap \
+       rcutorture_urcu_mb_rperf_global.tap \
+       rcutorture_urcu_mb_rperf_percpu.tap \
+       rcutorture_urcu_mb_rperf_perthread.tap \
+       rcutorture_urcu_mb_stress_global.tap \
+       rcutorture_urcu_mb_stress_percpu.tap \
+       rcutorture_urcu_mb_stress_perthread.tap \
+       rcutorture_urcu_mb_uperf_global.tap \
+       rcutorture_urcu_mb_uperf_percpu.tap \
+       rcutorture_urcu_mb_uperf_perthread.tap \
+       rcutorture_urcu_membarrier_perf_global.tap \
+       rcutorture_urcu_membarrier_perf_percpu.tap \
+       rcutorture_urcu_membarrier_perf_perthread.tap \
+       rcutorture_urcu_membarrier_rperf_global.tap \
+       rcutorture_urcu_membarrier_rperf_percpu.tap \
+       rcutorture_urcu_membarrier_rperf_perthread.tap \
+       rcutorture_urcu_membarrier_stress_global.tap \
+       rcutorture_urcu_membarrier_stress_percpu.tap \
+       rcutorture_urcu_membarrier_stress_perthread.tap \
+       rcutorture_urcu_membarrier_uperf_global.tap \
+       rcutorture_urcu_membarrier_uperf_percpu.tap \
+       rcutorture_urcu_membarrier_uperf_perthread.tap \
+       rcutorture_urcu_qsbr_perf_global.tap \
+       rcutorture_urcu_qsbr_perf_percpu.tap \
+       rcutorture_urcu_qsbr_perf_perthread.tap \
+       rcutorture_urcu_qsbr_rperf_global.tap \
+       rcutorture_urcu_qsbr_rperf_percpu.tap \
+       rcutorture_urcu_qsbr_rperf_perthread.tap \
+       rcutorture_urcu_qsbr_stress_global.tap \
+       rcutorture_urcu_qsbr_stress_percpu.tap \
+       rcutorture_urcu_qsbr_stress_perthread.tap \
+       rcutorture_urcu_qsbr_uperf_global.tap \
+       rcutorture_urcu_qsbr_uperf_percpu.tap \
+       rcutorture_urcu_qsbr_uperf_perthread.tap \
+       rcutorture_urcu_signal_perf_global.tap \
+       rcutorture_urcu_signal_perf_percpu.tap \
+       rcutorture_urcu_signal_perf_perthread.tap \
+       rcutorture_urcu_signal_rperf_global.tap \
+       rcutorture_urcu_signal_rperf_percpu.tap \
+       rcutorture_urcu_signal_rperf_perthread.tap \
+       rcutorture_urcu_signal_stress_global.tap \
+       rcutorture_urcu_signal_stress_percpu.tap \
+       rcutorture_urcu_signal_stress_perthread.tap \
+       rcutorture_urcu_signal_uperf_global.tap \
+       rcutorture_urcu_signal_uperf_percpu.tap \
+       rcutorture_urcu_signal_uperf_perthread.tap
+
 regtest:
-       ./run.sh regression_tests
+       $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(REGTEST_TESTS)"
diff --git a/tests/regression/rcutorture_urcu_bp_perf_global.tap.in b/tests/regression/rcutorture_urcu_bp_perf_global.tap.in
new file mode 100644 (file)
index 0000000..3dc7ff4
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_bp_perf_percpu.tap.in b/tests/regression/rcutorture_urcu_bp_perf_percpu.tap.in
new file mode 100644 (file)
index 0000000..5bbaa92
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_bp_perf_perthread.tap.in b/tests/regression/rcutorture_urcu_bp_perf_perthread.tap.in
new file mode 100644 (file)
index 0000000..d89ceb8
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_bp_rperf_global.tap.in b/tests/regression/rcutorture_urcu_bp_rperf_global.tap.in
new file mode 100644 (file)
index 0000000..f992f26
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_bp_rperf_percpu.tap.in b/tests/regression/rcutorture_urcu_bp_rperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..8ac8212
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_bp_rperf_perthread.tap.in b/tests/regression/rcutorture_urcu_bp_rperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..69a7fbd
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_bp_stress_global.tap.in b/tests/regression/rcutorture_urcu_bp_stress_global.tap.in
new file mode 100644 (file)
index 0000000..7c6ee1f
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_bp_stress_percpu.tap.in b/tests/regression/rcutorture_urcu_bp_stress_percpu.tap.in
new file mode 100644 (file)
index 0000000..a0b19c3
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_bp_stress_perthread.tap.in b/tests/regression/rcutorture_urcu_bp_stress_perthread.tap.in
new file mode 100644 (file)
index 0000000..dbacd3f
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_bp_uperf_global.tap.in b/tests/regression/rcutorture_urcu_bp_uperf_global.tap.in
new file mode 100644 (file)
index 0000000..b157d24
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_bp_uperf_percpu.tap.in b/tests/regression/rcutorture_urcu_bp_uperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..2c44eaa
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_bp_uperf_perthread.tap.in b/tests/regression/rcutorture_urcu_bp_uperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..15e7d7d
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_mb_perf_global.tap.in b/tests/regression/rcutorture_urcu_mb_perf_global.tap.in
new file mode 100644 (file)
index 0000000..65603e7
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_mb_perf_percpu.tap.in b/tests/regression/rcutorture_urcu_mb_perf_percpu.tap.in
new file mode 100644 (file)
index 0000000..9b877c4
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_mb_perf_perthread.tap.in b/tests/regression/rcutorture_urcu_mb_perf_perthread.tap.in
new file mode 100644 (file)
index 0000000..7da5afe
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_mb_rperf_global.tap.in b/tests/regression/rcutorture_urcu_mb_rperf_global.tap.in
new file mode 100644 (file)
index 0000000..1928d7d
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_mb_rperf_percpu.tap.in b/tests/regression/rcutorture_urcu_mb_rperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..ffa90fb
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_mb_rperf_perthread.tap.in b/tests/regression/rcutorture_urcu_mb_rperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..37be26e
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_mb_stress_global.tap.in b/tests/regression/rcutorture_urcu_mb_stress_global.tap.in
new file mode 100644 (file)
index 0000000..6a1cdd9
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_mb_stress_percpu.tap.in b/tests/regression/rcutorture_urcu_mb_stress_percpu.tap.in
new file mode 100644 (file)
index 0000000..d9994cd
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_mb_stress_perthread.tap.in b/tests/regression/rcutorture_urcu_mb_stress_perthread.tap.in
new file mode 100644 (file)
index 0000000..1eb07a3
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_mb_uperf_global.tap.in b/tests/regression/rcutorture_urcu_mb_uperf_global.tap.in
new file mode 100644 (file)
index 0000000..3d41a7c
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_mb_uperf_percpu.tap.in b/tests/regression/rcutorture_urcu_mb_uperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..30ec884
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_mb_uperf_perthread.tap.in b/tests/regression/rcutorture_urcu_mb_uperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..de5c153
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_membarrier_perf_global.tap.in b/tests/regression/rcutorture_urcu_membarrier_perf_global.tap.in
new file mode 100644 (file)
index 0000000..a277d4e
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap.in b/tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap.in
new file mode 100644 (file)
index 0000000..768a294
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap.in b/tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap.in
new file mode 100644 (file)
index 0000000..a7baba4
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_membarrier_rperf_global.tap.in b/tests/regression/rcutorture_urcu_membarrier_rperf_global.tap.in
new file mode 100644 (file)
index 0000000..29000bb
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap.in b/tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..47c7351
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap.in b/tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..d947fd3
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_membarrier_stress_global.tap.in b/tests/regression/rcutorture_urcu_membarrier_stress_global.tap.in
new file mode 100644 (file)
index 0000000..f956efb
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap.in b/tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap.in
new file mode 100644 (file)
index 0000000..6cf1504
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap.in b/tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap.in
new file mode 100644 (file)
index 0000000..e6be1e6
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_membarrier_uperf_global.tap.in b/tests/regression/rcutorture_urcu_membarrier_uperf_global.tap.in
new file mode 100644 (file)
index 0000000..bd6d20e
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap.in b/tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..54c3cbe
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap.in b/tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..fb0dd5a
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_qsbr_perf_global.tap.in b/tests/regression/rcutorture_urcu_qsbr_perf_global.tap.in
new file mode 100644 (file)
index 0000000..ddcac7a
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap.in b/tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap.in
new file mode 100644 (file)
index 0000000..219646c
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap.in b/tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap.in
new file mode 100644 (file)
index 0000000..d063fe4
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_qsbr_rperf_global.tap.in b/tests/regression/rcutorture_urcu_qsbr_rperf_global.tap.in
new file mode 100644 (file)
index 0000000..ef2dbed
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap.in b/tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..4c5d8d5
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap.in b/tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..badd161
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_qsbr_stress_global.tap.in b/tests/regression/rcutorture_urcu_qsbr_stress_global.tap.in
new file mode 100644 (file)
index 0000000..e3d1c4c
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap.in b/tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap.in
new file mode 100644 (file)
index 0000000..f3018fe
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap.in b/tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap.in
new file mode 100644 (file)
index 0000000..451072e
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_qsbr_uperf_global.tap.in b/tests/regression/rcutorture_urcu_qsbr_uperf_global.tap.in
new file mode 100644 (file)
index 0000000..1cdb803
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap.in b/tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..ee2c1bd
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap.in b/tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..fbabf97
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_signal_perf_global.tap.in b/tests/regression/rcutorture_urcu_signal_perf_global.tap.in
new file mode 100644 (file)
index 0000000..20f967f
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_signal_perf_percpu.tap.in b/tests/regression/rcutorture_urcu_signal_perf_percpu.tap.in
new file mode 100644 (file)
index 0000000..53ec18e
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_signal_perf_perthread.tap.in b/tests/regression/rcutorture_urcu_signal_perf_perthread.tap.in
new file mode 100644 (file)
index 0000000..d8ca7ef
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_signal_rperf_global.tap.in b/tests/regression/rcutorture_urcu_signal_rperf_global.tap.in
new file mode 100644 (file)
index 0000000..2da3a93
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_signal_rperf_percpu.tap.in b/tests/regression/rcutorture_urcu_signal_rperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..5497f2f
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_signal_rperf_perthread.tap.in b/tests/regression/rcutorture_urcu_signal_rperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..6c62c15
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_signal_stress_global.tap.in b/tests/regression/rcutorture_urcu_signal_stress_global.tap.in
new file mode 100644 (file)
index 0000000..c667dbf
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_signal_stress_percpu.tap.in b/tests/regression/rcutorture_urcu_signal_stress_percpu.tap.in
new file mode 100644 (file)
index 0000000..429b731
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_signal_stress_perthread.tap.in b/tests/regression/rcutorture_urcu_signal_stress_perthread.tap.in
new file mode 100644 (file)
index 0000000..62d190d
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/rcutorture_urcu_signal_uperf_global.tap.in b/tests/regression/rcutorture_urcu_signal_uperf_global.tap.in
new file mode 100644 (file)
index 0000000..e86b6d7
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_global
diff --git a/tests/regression/rcutorture_urcu_signal_uperf_percpu.tap.in b/tests/regression/rcutorture_urcu_signal_uperf_percpu.tap.in
new file mode 100644 (file)
index 0000000..c212711
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_percpu
diff --git a/tests/regression/rcutorture_urcu_signal_uperf_perthread.tap.in b/tests/regression/rcutorture_urcu_signal_uperf_perthread.tap.in
new file mode 100644 (file)
index 0000000..1d92879
--- /dev/null
@@ -0,0 +1 @@
+./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_perthread
diff --git a/tests/regression/regression_tests.in b/tests/regression/regression_tests.in
deleted file mode 100644 (file)
index 26df110..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-./test_urcu_fork
-./rcutorture_urcu `@NPROC_CMD@` perf 1 callrcu_global
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_global
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_global
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_global
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_global
-./rcutorture_urcu `@NPROC_CMD@` rperf 1 callrcu_global
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_global
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_global
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_global
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_global
-./rcutorture_urcu `@NPROC_CMD@` uperf 1 callrcu_global
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_global
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_global
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_global
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_global
-./rcutorture_urcu `@NPROC_CMD@` stress 1 callrcu_global
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_global
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_global
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_global
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_global
-./rcutorture_urcu `@NPROC_CMD@` perf 1 callrcu_percpu
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_percpu
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_percpu
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_percpu
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_percpu
-./rcutorture_urcu `@NPROC_CMD@` rperf 1 callrcu_percpu
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_percpu
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_percpu
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_percpu
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_percpu
-./rcutorture_urcu `@NPROC_CMD@` uperf 1 callrcu_percpu
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_percpu
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_percpu
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_percpu
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_percpu
-./rcutorture_urcu `@NPROC_CMD@` stress 1 callrcu_percpu
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_percpu
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_percpu
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_percpu
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_percpu
-./rcutorture_urcu `@NPROC_CMD@` perf 1 callrcu_perthread
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_perthread
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_perthread
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_perthread
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_perthread
-./rcutorture_urcu `@NPROC_CMD@` rperf 1 callrcu_perthread
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_perthread
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_perthread
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_perthread
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_perthread
-./rcutorture_urcu `@NPROC_CMD@` uperf 1 callrcu_perthread
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_perthread
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_perthread
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_perthread
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_perthread
-./rcutorture_urcu `@NPROC_CMD@` stress 1 callrcu_perthread
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_perthread
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_perthread
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_perthread
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_perthread
diff --git a/tests/regression/run.sh b/tests/regression/run.sh
deleted file mode 100755 (executable)
index 1ec7e5e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2013 - Christian Babeux <christian.babeux@efficios.com>
-#               2016 - Michael Jeanson <mjeanson@efficios.com>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; only version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-
-INPUT=$1
-ARGS=()
-shift 1
-
-if [ -z "${INPUT}" ]; then
-    echo "Error: No testlist. Please specify a testlist to run."
-    exit 1
-fi
-
-if [ "x$V" == "x1" ]; then
-    ARGS+=('-v')
-fi
-
-prove "${@}" "${ARGS[@]}" --merge --exec '' - < "${INPUT}"
index e6f7b3e..ade3555 100644 (file)
@@ -1,12 +1,14 @@
 AM_CFLAGS += -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common -g
 
-SCRIPT_LIST = test_loop run.sh unit_tests
+LOG_DRIVER_FLAGS = --merge --comments
+LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
+       $(top_srcdir)/config/tap-driver.sh
 
 noinst_PROGRAMS = test_uatomic \
        test_urcu_multiflavor \
        test_urcu_multiflavor_dynlink
 
-dist_noinst_SCRIPTS = $(SCRIPT_LIST)
+TESTS = $(noinst_PROGRAMS)
 
 noinst_HEADERS = test_urcu_multiflavor.h
 
@@ -55,5 +57,3 @@ clean-local:
                done; \
        fi
 
-check-am:
-       ./run.sh unit_tests
diff --git a/tests/unit/run.sh b/tests/unit/run.sh
deleted file mode 100755 (executable)
index 1ec7e5e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2013 - Christian Babeux <christian.babeux@efficios.com>
-#               2016 - Michael Jeanson <mjeanson@efficios.com>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; only version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-
-INPUT=$1
-ARGS=()
-shift 1
-
-if [ -z "${INPUT}" ]; then
-    echo "Error: No testlist. Please specify a testlist to run."
-    exit 1
-fi
-
-if [ "x$V" == "x1" ]; then
-    ARGS+=('-v')
-fi
-
-prove "${@}" "${ARGS[@]}" --merge --exec '' - < "${INPUT}"
diff --git a/tests/unit/test_loop b/tests/unit/test_loop
deleted file mode 100755 (executable)
index be3e16c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-DIR=$(dirname $0)
-
-while [ 0 ]; do
-       $DIR/run.sh $DIR/unit_tests
-       if [ "$?" != "0" ]; then
-               break;
-       fi
-done
-
-echo "$0: ********* STOPPED BECAUSE OF ERROR *********"
diff --git a/tests/unit/unit_tests b/tests/unit/unit_tests
deleted file mode 100644 (file)
index c6228a4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-./test_uatomic
-./test_urcu_multiflavor
-./test_urcu_multiflavor_dynlink
This page took 0.099902 seconds and 4 git commands to generate.