Build and run regression and unit tests as C++ programs
[urcu.git] / tests / unit / Makefile.am
index d97e43f85fe4e6f0e64b6b09363e2ad0886968fd..119dc73fb3a5529ec253b10ee8d2a61143f3bcd4 100644 (file)
@@ -1,27 +1,48 @@
-AM_CFLAGS=-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common -g
+AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common
 
-SCRIPT_LIST = test_loop run.sh unit_tests
+LOG_DRIVER_FLAGS = --merge --comments
+LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
+       $(top_srcdir)/tests/utils/tap-driver.sh
 
-noinst_PROGRAMS = test_uatomic \
+noinst_PROGRAMS = \
+       test_arch \
+       test_arch_cxx \
+       test_uatomic \
+       test_uatomic_cxx \
        test_urcu_multiflavor \
-       test_urcu_multiflavor_dynlink
+       test_urcu_multiflavor_cxx \
+       test_urcu_multiflavor_dynlink \
+       test_urcu_multiflavor_dynlink_cxx \
+       test_urcu_multiflavor_single_unit \
+       test_urcu_multiflavor_single_unit_cxx \
+       test_urcu_multiflavor_single_unit_dynlink \
+       test_urcu_multiflavor_single_unit_dynlink_cxx
 
-dist_noinst_SCRIPTS = $(SCRIPT_LIST)
+TESTS = $(noinst_PROGRAMS)
 
 noinst_HEADERS = test_urcu_multiflavor.h
 
-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
+URCU_COMMON_LIB=$(top_builddir)/src/liburcu-common.la
+URCU_LIB=$(top_builddir)/src/liburcu.la
+URCU_QSBR_LIB=$(top_builddir)/src/liburcu-qsbr.la
+URCU_MB_LIB=$(top_builddir)/src/liburcu-mb.la
+URCU_SIGNAL_LIB=$(top_builddir)/src/liburcu-signal.la
+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_arch_SOURCES = test_arch.c
+test_arch_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB)
+
+test_arch_cxx_SOURCES = test_arch_cxx.cpp
+test_arch_cxx_LDADD = $(URCU_COMMO_LIB) $(TAP_LIB)
+
 test_uatomic_SOURCES = test_uatomic.c
 test_uatomic_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB)
 
+test_uatomic_cxx_SOURCES = test_uatomic_cxx.cpp
+test_uatomic_cxx_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB)
+
 test_urcu_multiflavor_SOURCES = test_urcu_multiflavor.c \
        test_urcu_multiflavor-memb.c \
        test_urcu_multiflavor-mb.c \
@@ -31,6 +52,15 @@ test_urcu_multiflavor_SOURCES = test_urcu_multiflavor.c \
 test_urcu_multiflavor_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
        $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
 
+test_urcu_multiflavor_cxx_SOURCES = test_urcu_multiflavor_cxx.cpp \
+       test_urcu_multiflavor-memb_cxx.cpp \
+       test_urcu_multiflavor-mb_cxx.cpp \
+       test_urcu_multiflavor-signal_cxx.cpp \
+       test_urcu_multiflavor-qsbr_cxx.cpp \
+       test_urcu_multiflavor-bp_cxx.cpp
+test_urcu_multiflavor_cxx_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
 test_urcu_multiflavor_dynlink_SOURCES = test_urcu_multiflavor.c \
        test_urcu_multiflavor-memb.c \
        test_urcu_multiflavor-mb.c \
@@ -41,6 +71,34 @@ test_urcu_multiflavor_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS)
 test_urcu_multiflavor_dynlink_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
        $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
 
+test_urcu_multiflavor_dynlink_cxx_SOURCES = test_urcu_multiflavor_cxx.cpp \
+       test_urcu_multiflavor-memb_cxx.cpp \
+       test_urcu_multiflavor-mb_cxx.cpp \
+       test_urcu_multiflavor-signal_cxx.cpp \
+       test_urcu_multiflavor-qsbr_cxx.cpp \
+       test_urcu_multiflavor-bp_cxx.cpp
+test_urcu_multiflavor_dynlink_cxx_CXXFLAGS = -DDYNAMIC_LINK_TEST $(AM_CXXFLAGS)
+test_urcu_multiflavor_dynlink_cxx_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
+test_urcu_multiflavor_single_unit_SOURCES = test_urcu_multiflavor_single_unit.c
+test_urcu_multiflavor_single_unit_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
+test_urcu_multiflavor_single_unit_cxx_SOURCES = test_urcu_multiflavor_single_unit_cxx.cpp
+test_urcu_multiflavor_single_unit_cxx_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
+test_urcu_multiflavor_single_unit_dynlink_SOURCES = test_urcu_multiflavor_single_unit.c
+test_urcu_multiflavor_single_unit_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS)
+test_urcu_multiflavor_single_unit_dynlink_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
+test_urcu_multiflavor_single_unit_dynlink_cxx_SOURCES = test_urcu_multiflavor_single_unit_cxx.cpp
+test_urcu_multiflavor_single_unit_dynlink_cxx_CXXFLAGS = -DDYNAMIC_LINK_TEST $(AM_CXXFLAGS)
+test_urcu_multiflavor_single_unit_dynlink_cxx_LDADD = $(URCU_LIB) $(URCU_MB_LIB) \
+       $(URCU_SIGNAL_LIB) $(URCU_QSBR_LIB) $(URCU_BP_LIB) $(TAP_LIB)
+
 all-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
                for script in $(SCRIPT_LIST); do \
@@ -55,5 +113,3 @@ clean-local:
                done; \
        fi
 
-check-am:
-       ./run.sh unit_tests
This page took 0.023793 seconds and 4 git commands to generate.