X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fregression%2FMakefile.am;fp=tests%2Fregression%2FMakefile.am;h=2c0542f95d2cf567f816a98baf15f3cf2dbfcd71;hp=0000000000000000000000000000000000000000;hb=f5ab766ee2c8300cb00ca5878b1cb464f960a66d;hpb=a5bae03d59c22e57263b8610b9fed99738303cf0 diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am new file mode 100644 index 0000000..2c0542f --- /dev/null +++ b/tests/regression/Makefile.am @@ -0,0 +1,75 @@ +AM_LDFLAGS=-lpthread +AM_CFLAGS=-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/tests/common -g + +noinst_PROGRAMS = test_urcu_fork \ + rcutorture_urcu \ + rcutorture_urcu_signal \ + rcutorture_urcu_mb \ + rcutorture_urcu_bp \ + rcutorture_urcu_qsbr + +noinst_HEADERS = rcutorture.h + +if COMPAT_ARCH +COMPAT=$(top_srcdir)/compat_arch_@ARCHTYPE@.c +else +COMPAT= +endif + +if COMPAT_FUTEX +COMPAT+=$(top_srcdir)/compat_futex.c +endif + +URCU=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) +URCU_QSBR=$(top_srcdir)/urcu-qsbr.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) +# URCU_MB uses urcu.c but -DRCU_MB must be defined +URCU_MB=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) +# URCU_SIGNAL uses urcu.c but -DRCU_SIGNAL must be defined +URCU_SIGNAL=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) +URCU_BP=$(top_srcdir)/urcu-bp.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) +URCU_DEFER=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) + +URCU_COMMON_LIB=$(top_builddir)/liburcu-common.la +URCU_LIB=$(top_builddir)/liburcu.la +URCU_QSBR_LIB=$(top_builddir)/liburcu-qsbr.la +URCU_MB_LIB=$(top_builddir)/liburcu-mb.la +URCU_SIGNAL_LIB=$(top_builddir)/liburcu-signal.la +URCU_BP_LIB=$(top_builddir)/liburcu-bp.la +URCU_CDS_LIB=$(top_builddir)/liburcu-cds.la + +test_urcu_fork_SOURCES = test_urcu_fork.c $(URCU) + +rcutorture_urcu_SOURCES = urcutorture.c +rcutorture_urcu_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS) +rcutorture_urcu_LDADD = $(URCU) + +rcutorture_urcu_mb_SOURCES = urcutorture.c +rcutorture_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS) +rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) + +rcutorture_urcu_qsbr_SOURCES = urcutorture.c +rcutorture_urcu_qsbr_CFLAGS = -DTORTURE_QSBR -DRCU_QSBR $(AM_CFLAGS) +rcutorture_urcu_qsbr_LDADD = $(URCU_QSBR_LIB) + +rcutorture_urcu_signal_SOURCES = urcutorture.c +rcutorture_urcu_signal_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) +rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) + +rcutorture_urcu_bp_SOURCES = urcutorture.c +rcutorture_urcu_bp_CFLAGS = -DRCU_BP $(AM_CFLAGS) +rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) + +urcutorture.c: ../common/api.h + +.PHONY: regtest + +# For now, run the benchmarks too as regression tests. +# TODO: split benchmarks from regression tests +regtest: + ./test_urcu_fork + ./rcutorture_urcu + ./rcutorture_urcu_signal + ./rcutorture_urcu_mb + ./rcutorture_urcu_bp + ./rcutorture_urcu_qsbr + cd ../benchmark && ./runall.sh && cd ..