[lttng-dev] [PATCH urcu] Tests: Replace prove by autotools tap runner

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Feb 20 12:21:02 EST 2018


merged into liburcu master, thanks!

Mathieu

----- On Dec 8, 2017, at 11:00 AM, Michael Jeanson mjeanson at efficios.com wrote:

> 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 at efficios.com>
> ---
> .gitignore                                         |  10 +-
> Makefile.am                                        |   4 +-
> configure.ac                                       |  66 ++++++++++++-
> tests/Makefile.am                                  |  10 +-
> tests/benchmark/Makefile.am                        |  32 +++++--
> tests/benchmark/hashtable_1_seconds.tap            |   1 +
> tests/benchmark/hashtable_30_seconds.tap           |   1 +
> tests/benchmark/hashtable_3_seconds.tap            |   1 +
> tests/benchmark/long_bench_tests                   |   2 -
> tests/benchmark/regression_tests                   |   2 -
> tests/benchmark/run.sh                             |  34 -------
> tests/benchmark/short_bench_tests                  |   2 -
> tests/benchmark/urcu_1_seconds.tap                 |   1 +
> tests/benchmark/urcu_30_seconds.tap                |   1 +
> tests/benchmark/urcu_3_seconds.tap                 |   1 +
> tests/regression/Makefile.am                       | 105 +++++++++++++++------
> .../rcutorture_urcu_bp_perf_global.tap.in          |   1 +
> .../rcutorture_urcu_bp_perf_percpu.tap.in          |   1 +
> .../rcutorture_urcu_bp_perf_perthread.tap.in       |   1 +
> .../rcutorture_urcu_bp_rperf_global.tap.in         |   1 +
> .../rcutorture_urcu_bp_rperf_percpu.tap.in         |   1 +
> .../rcutorture_urcu_bp_rperf_perthread.tap.in      |   1 +
> .../rcutorture_urcu_bp_stress_global.tap.in        |   1 +
> .../rcutorture_urcu_bp_stress_percpu.tap.in        |   1 +
> .../rcutorture_urcu_bp_stress_perthread.tap.in     |   1 +
> .../rcutorture_urcu_bp_uperf_global.tap.in         |   1 +
> .../rcutorture_urcu_bp_uperf_percpu.tap.in         |   1 +
> .../rcutorture_urcu_bp_uperf_perthread.tap.in      |   1 +
> .../rcutorture_urcu_mb_perf_global.tap.in          |   1 +
> .../rcutorture_urcu_mb_perf_percpu.tap.in          |   1 +
> .../rcutorture_urcu_mb_perf_perthread.tap.in       |   1 +
> .../rcutorture_urcu_mb_rperf_global.tap.in         |   1 +
> .../rcutorture_urcu_mb_rperf_percpu.tap.in         |   1 +
> .../rcutorture_urcu_mb_rperf_perthread.tap.in      |   1 +
> .../rcutorture_urcu_mb_stress_global.tap.in        |   1 +
> .../rcutorture_urcu_mb_stress_percpu.tap.in        |   1 +
> .../rcutorture_urcu_mb_stress_perthread.tap.in     |   1 +
> .../rcutorture_urcu_mb_uperf_global.tap.in         |   1 +
> .../rcutorture_urcu_mb_uperf_percpu.tap.in         |   1 +
> .../rcutorture_urcu_mb_uperf_perthread.tap.in      |   1 +
> .../rcutorture_urcu_membarrier_perf_global.tap.in  |   1 +
> .../rcutorture_urcu_membarrier_perf_percpu.tap.in  |   1 +
> ...cutorture_urcu_membarrier_perf_perthread.tap.in |   1 +
> .../rcutorture_urcu_membarrier_rperf_global.tap.in |   1 +
> .../rcutorture_urcu_membarrier_rperf_percpu.tap.in |   1 +
> ...utorture_urcu_membarrier_rperf_perthread.tap.in |   1 +
> ...rcutorture_urcu_membarrier_stress_global.tap.in |   1 +
> ...rcutorture_urcu_membarrier_stress_percpu.tap.in |   1 +
> ...torture_urcu_membarrier_stress_perthread.tap.in |   1 +
> .../rcutorture_urcu_membarrier_uperf_global.tap.in |   1 +
> .../rcutorture_urcu_membarrier_uperf_percpu.tap.in |   1 +
> ...utorture_urcu_membarrier_uperf_perthread.tap.in |   1 +
> .../rcutorture_urcu_qsbr_perf_global.tap.in        |   1 +
> .../rcutorture_urcu_qsbr_perf_percpu.tap.in        |   1 +
> .../rcutorture_urcu_qsbr_perf_perthread.tap.in     |   1 +
> .../rcutorture_urcu_qsbr_rperf_global.tap.in       |   1 +
> .../rcutorture_urcu_qsbr_rperf_percpu.tap.in       |   1 +
> .../rcutorture_urcu_qsbr_rperf_perthread.tap.in    |   1 +
> .../rcutorture_urcu_qsbr_stress_global.tap.in      |   1 +
> .../rcutorture_urcu_qsbr_stress_percpu.tap.in      |   1 +
> .../rcutorture_urcu_qsbr_stress_perthread.tap.in   |   1 +
> .../rcutorture_urcu_qsbr_uperf_global.tap.in       |   1 +
> .../rcutorture_urcu_qsbr_uperf_percpu.tap.in       |   1 +
> .../rcutorture_urcu_qsbr_uperf_perthread.tap.in    |   1 +
> .../rcutorture_urcu_signal_perf_global.tap.in      |   1 +
> .../rcutorture_urcu_signal_perf_percpu.tap.in      |   1 +
> .../rcutorture_urcu_signal_perf_perthread.tap.in   |   1 +
> .../rcutorture_urcu_signal_rperf_global.tap.in     |   1 +
> .../rcutorture_urcu_signal_rperf_percpu.tap.in     |   1 +
> .../rcutorture_urcu_signal_rperf_perthread.tap.in  |   1 +
> .../rcutorture_urcu_signal_stress_global.tap.in    |   1 +
> .../rcutorture_urcu_signal_stress_percpu.tap.in    |   1 +
> .../rcutorture_urcu_signal_stress_perthread.tap.in |   1 +
> .../rcutorture_urcu_signal_uperf_global.tap.in     |   1 +
> .../rcutorture_urcu_signal_uperf_percpu.tap.in     |   1 +
> .../rcutorture_urcu_signal_uperf_perthread.tap.in  |   1 +
> tests/regression/regression_tests.in               |  61 ------------
> tests/regression/run.sh                            |  34 -------
> tests/unit/Makefile.am                             |   8 +-
> tests/unit/run.sh                                  |  34 -------
> tests/unit/test_loop                               |  12 ---
> tests/unit/unit_tests                              |   3 -
> 82 files changed, 254 insertions(+), 231 deletions(-)
> create mode 100755 tests/benchmark/hashtable_1_seconds.tap
> create mode 100755 tests/benchmark/hashtable_30_seconds.tap
> create mode 100755 tests/benchmark/hashtable_3_seconds.tap
> delete mode 100644 tests/benchmark/long_bench_tests
> delete mode 100644 tests/benchmark/regression_tests
> delete mode 100755 tests/benchmark/run.sh
> delete mode 100644 tests/benchmark/short_bench_tests
> create mode 100755 tests/benchmark/urcu_1_seconds.tap
> create mode 100755 tests/benchmark/urcu_30_seconds.tap
> create mode 100755 tests/benchmark/urcu_3_seconds.tap
> create mode 100644 tests/regression/rcutorture_urcu_bp_perf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_perf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_perf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_rperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_rperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_rperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_stress_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_stress_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_stress_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_uperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_uperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_bp_uperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_perf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_perf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_perf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_rperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_rperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_rperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_stress_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_stress_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_stress_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_uperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_uperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_mb_uperf_perthread.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_perf_global.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_rperf_global.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_stress_global.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_uperf_global.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_perf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_rperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_stress_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_uperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_perf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_perf_percpu.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_perf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_rperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_rperf_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_signal_rperf_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_stress_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_stress_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_signal_stress_perthread.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_uperf_global.tap.in
> create mode 100644 tests/regression/rcutorture_urcu_signal_uperf_percpu.tap.in
> create mode 100644
> tests/regression/rcutorture_urcu_signal_uperf_perthread.tap.in
> delete mode 100644 tests/regression/regression_tests.in
> delete mode 100755 tests/regression/run.sh
> delete mode 100755 tests/unit/run.sh
> delete mode 100755 tests/unit/test_loop
> delete mode 100644 tests/unit/unit_tests
> 
> diff --git a/.gitignore b/.gitignore
> index 7e7242a..d02ed09 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -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
> diff --git a/Makefile.am b/Makefile.am
> index dacbb3b..4b28966 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -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
> diff --git a/configure.ac b/configure.ac
> index d2777d5..d0b4a9a 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -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
> 
> #
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 03f3f29..8e0e6d1 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -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
> diff --git a/tests/benchmark/Makefile.am b/tests/benchmark/Makefile.am
> index 216d013..5068d0e 100644
> --- a/tests/benchmark/Makefile.am
> +++ b/tests/benchmark/Makefile.am
> @@ -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
> index 0000000..48c4adb
> --- /dev/null
> +++ b/tests/benchmark/hashtable_1_seconds.tap
> @@ -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
> index 0000000..0c40ef8
> --- /dev/null
> +++ b/tests/benchmark/hashtable_30_seconds.tap
> @@ -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
> index 0000000..031aa77
> --- /dev/null
> +++ b/tests/benchmark/hashtable_3_seconds.tap
> @@ -0,0 +1 @@
> +./runhash.sh 3
> diff --git a/tests/benchmark/long_bench_tests b/tests/benchmark/long_bench_tests
> deleted file mode 100644
> index 244f3c4..0000000
> --- a/tests/benchmark/long_bench_tests
> +++ /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
> index 436c330..0000000
> --- a/tests/benchmark/regression_tests
> +++ /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
> index 1ec7e5e..0000000
> --- a/tests/benchmark/run.sh
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -#!/bin/bash
> -#
> -# Copyright (C) 2013 - Christian Babeux <christian.babeux at efficios.com>
> -#               2016 - Michael Jeanson <mjeanson at 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
> index 9d01067..0000000
> --- a/tests/benchmark/short_bench_tests
> +++ /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
> index 0000000..8553ed9
> --- /dev/null
> +++ b/tests/benchmark/urcu_1_seconds.tap
> @@ -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
> index 0000000..5c13dd9
> --- /dev/null
> +++ b/tests/benchmark/urcu_30_seconds.tap
> @@ -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
> index 0000000..51f4412
> --- /dev/null
> +++ b/tests/benchmark/urcu_3_seconds.tap
> @@ -0,0 +1 @@
> +./run-urcu-tests.sh 3
> diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am
> index c7d102f..183fefe 100644
> --- a/tests/regression/Makefile.am
> +++ b/tests/regression/Makefile.am
> @@ -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
> index 0000000..3dc7ff4
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_perf_global.tap.in
> @@ -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
> index 0000000..5bbaa92
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_perf_percpu.tap.in
> @@ -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
> index 0000000..d89ceb8
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_perf_perthread.tap.in
> @@ -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
> index 0000000..f992f26
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_rperf_global.tap.in
> @@ -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
> index 0000000..8ac8212
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_rperf_percpu.tap.in
> @@ -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
> index 0000000..69a7fbd
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_rperf_perthread.tap.in
> @@ -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
> index 0000000..7c6ee1f
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_stress_global.tap.in
> @@ -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
> index 0000000..a0b19c3
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_stress_percpu.tap.in
> @@ -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
> index 0000000..dbacd3f
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_stress_perthread.tap.in
> @@ -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
> index 0000000..b157d24
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_uperf_global.tap.in
> @@ -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
> index 0000000..2c44eaa
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_uperf_percpu.tap.in
> @@ -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
> index 0000000..15e7d7d
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_bp_uperf_perthread.tap.in
> @@ -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
> index 0000000..65603e7
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_perf_global.tap.in
> @@ -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
> index 0000000..9b877c4
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_perf_percpu.tap.in
> @@ -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
> index 0000000..7da5afe
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_perf_perthread.tap.in
> @@ -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
> index 0000000..1928d7d
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_rperf_global.tap.in
> @@ -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
> index 0000000..ffa90fb
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_rperf_percpu.tap.in
> @@ -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
> index 0000000..37be26e
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_rperf_perthread.tap.in
> @@ -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
> index 0000000..6a1cdd9
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_stress_global.tap.in
> @@ -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
> index 0000000..d9994cd
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_stress_percpu.tap.in
> @@ -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
> index 0000000..1eb07a3
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_stress_perthread.tap.in
> @@ -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
> index 0000000..3d41a7c
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_uperf_global.tap.in
> @@ -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
> index 0000000..30ec884
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_uperf_percpu.tap.in
> @@ -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
> index 0000000..de5c153
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_mb_uperf_perthread.tap.in
> @@ -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
> index 0000000..a277d4e
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_perf_global.tap.in
> @@ -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
> index 0000000..768a294
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap.in
> @@ -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
> index 0000000..a7baba4
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap.in
> @@ -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
> index 0000000..29000bb
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_rperf_global.tap.in
> @@ -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
> index 0000000..47c7351
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap.in
> @@ -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
> index 0000000..d947fd3
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap.in
> @@ -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
> index 0000000..f956efb
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_stress_global.tap.in
> @@ -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
> index 0000000..6cf1504
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap.in
> @@ -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
> index 0000000..e6be1e6
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap.in
> @@ -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
> index 0000000..bd6d20e
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_uperf_global.tap.in
> @@ -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
> index 0000000..54c3cbe
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap.in
> @@ -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
> index 0000000..fb0dd5a
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap.in
> @@ -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
> index 0000000..ddcac7a
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_perf_global.tap.in
> @@ -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
> index 0000000..219646c
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap.in
> @@ -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
> index 0000000..d063fe4
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap.in
> @@ -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
> index 0000000..ef2dbed
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_rperf_global.tap.in
> @@ -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
> index 0000000..4c5d8d5
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap.in
> @@ -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
> index 0000000..badd161
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap.in
> @@ -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
> index 0000000..e3d1c4c
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_stress_global.tap.in
> @@ -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
> index 0000000..f3018fe
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap.in
> @@ -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
> index 0000000..451072e
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap.in
> @@ -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
> index 0000000..1cdb803
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_uperf_global.tap.in
> @@ -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
> index 0000000..ee2c1bd
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap.in
> @@ -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
> index 0000000..fbabf97
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap.in
> @@ -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
> index 0000000..20f967f
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_perf_global.tap.in
> @@ -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
> index 0000000..53ec18e
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_perf_percpu.tap.in
> @@ -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
> index 0000000..d8ca7ef
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_perf_perthread.tap.in
> @@ -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
> index 0000000..2da3a93
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_rperf_global.tap.in
> @@ -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
> index 0000000..5497f2f
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_rperf_percpu.tap.in
> @@ -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
> index 0000000..6c62c15
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_rperf_perthread.tap.in
> @@ -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
> index 0000000..c667dbf
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_stress_global.tap.in
> @@ -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
> index 0000000..429b731
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_stress_percpu.tap.in
> @@ -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
> index 0000000..62d190d
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_stress_perthread.tap.in
> @@ -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
> index 0000000..e86b6d7
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_uperf_global.tap.in
> @@ -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
> index 0000000..c212711
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_uperf_percpu.tap.in
> @@ -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
> index 0000000..1d92879
> --- /dev/null
> +++ b/tests/regression/rcutorture_urcu_signal_uperf_perthread.tap.in
> @@ -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
> index 26df110..0000000
> --- a/tests/regression/regression_tests.in
> +++ /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
> index 1ec7e5e..0000000
> --- a/tests/regression/run.sh
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -#!/bin/bash
> -#
> -# Copyright (C) 2013 - Christian Babeux <christian.babeux at efficios.com>
> -#               2016 - Michael Jeanson <mjeanson at 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/Makefile.am b/tests/unit/Makefile.am
> index e6f7b3e..ade3555 100644
> --- a/tests/unit/Makefile.am
> +++ b/tests/unit/Makefile.am
> @@ -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
> index 1ec7e5e..0000000
> --- a/tests/unit/run.sh
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -#!/bin/bash
> -#
> -# Copyright (C) 2013 - Christian Babeux <christian.babeux at efficios.com>
> -#               2016 - Michael Jeanson <mjeanson at 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
> index be3e16c..0000000
> --- a/tests/unit/test_loop
> +++ /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
> index c6228a4..0000000
> --- a/tests/unit/unit_tests
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -./test_uatomic
> -./test_urcu_multiflavor
> -./test_urcu_multiflavor_dynlink
> --
> 2.7.4

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list