From: Michael Jeanson Date: Fri, 8 Dec 2017 16:00:17 +0000 (-0500) Subject: Tests: Replace prove by autotools tap runner X-Git-Tag: v0.11.0~44 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=03c5782e67a47b79fdd4013c8e0c68cdcb5a8228;p=urcu.git Tests: Replace prove by autotools tap runner 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 Signed-off-by: Mathieu Desnoyers --- 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 -# 2016 - Michael Jeanson -# -# 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 -# 2016 - Michael Jeanson -# -# 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 -# 2016 - Michael Jeanson -# -# 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