Commit | Line | Data |
---|---|---|
d001c886 MJ |
1 | # SPDX-FileCopyrightText: 2023 EfficiOS Inc. |
2 | # | |
3 | # SPDX-License-Identifier: MIT | |
4 | ||
01956342 | 5 | AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/tests/common |
9e4e7ad1 | 6 | AM_CPPFLAGS += -include $(top_srcdir)/tests/benchmark/common-states.h |
f5ab766e | 7 | |
03c5782e MJ |
8 | TEST_EXTENSIONS = .tap |
9 | TAP_LOG_DRIVER_FLAGS = --merge --comments | |
de6cb9d5 MJ |
10 | TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' \ |
11 | URCU_TESTS_SRCDIR='$(abs_top_srcdir)/tests' \ | |
12 | URCU_TESTS_BUILDDIR='$(abs_top_builddir)/tests' \ | |
13 | $(SHELL) $(top_srcdir)/tests/utils/tap-driver.sh | |
03c5782e | 14 | |
9e4e7ad1 OD |
15 | noinst_HEADERS = common-states.h |
16 | ||
de6cb9d5 | 17 | SCRIPT_LIST = \ |
f356e6f3 MJ |
18 | runpaul-phase1.sh \ |
19 | runpaul-phase2.sh \ | |
20 | runpaul-phase3.sh \ | |
21 | runpaul-phase4.sh \ | |
22 | runpaul-phase5.sh \ | |
23 | runpaul-phase6.sh \ | |
24 | runpaul-phase7.sh \ | |
f356e6f3 MJ |
25 | subphase4.sh |
26 | ||
de6cb9d5 MJ |
27 | dist_noinst_SCRIPTS = \ |
28 | runhash.sh \ | |
29 | runtests-batch.sh \ | |
30 | runtests.sh \ | |
31 | run-urcu-tests.sh \ | |
32 | $(SCRIPT_LIST) | |
f356e6f3 | 33 | |
03c5782e MJ |
34 | dist_noinst_DATA = \ |
35 | hashtable_1_seconds.tap \ | |
36 | urcu_1_seconds.tap | |
37 | hashtable_3_seconds.tap \ | |
38 | urcu_3_seconds.tap | |
39 | hashtable_30_seconds.tap \ | |
40 | urcu_30_seconds.tap | |
67c10597 | 41 | |
f5ab766e MD |
42 | noinst_PROGRAMS = test_urcu test_urcu_dynamic_link test_urcu_timing \ |
43 | test_urcu_signal test_urcu_signal_dynamic_link test_urcu_signal_timing \ | |
44 | test_rwlock_timing test_rwlock test_perthreadlock_timing \ | |
45 | test_perthreadlock test_urcu_yield test_urcu_signal_yield test_urcu_mb \ | |
46 | test_urcu_qsbr_timing test_urcu_qsbr \ | |
47 | test_mutex test_looplen test_urcu_gc test_urcu_signal_gc \ | |
48 | test_urcu_lgc \ | |
49 | test_urcu_mb_gc test_urcu_qsbr_gc test_urcu_qsbr_lgc test_urcu_signal_lgc \ | |
50 | test_urcu_mb_lgc test_urcu_qsbr_dynamic_link test_urcu_defer \ | |
51 | test_urcu_assign test_urcu_assign_dynamic_link \ | |
52 | test_urcu_bp test_urcu_bp_dynamic_link test_cycles_per_loop \ | |
53 | test_urcu_lfq test_urcu_wfq test_urcu_lfs test_urcu_wfs \ | |
54 | test_urcu_lfs_rcu \ | |
55 | test_urcu_wfcq \ | |
56 | test_urcu_wfq_dynlink test_urcu_wfs_dynlink \ | |
57 | test_urcu_wfcq_dynlink \ | |
58 | test_urcu_lfq_dynlink test_urcu_lfs_dynlink test_urcu_hash \ | |
59 | test_urcu_lfs_rcu_dynlink | |
60 | ||
6893800a MJ |
61 | URCU_COMMON_LIB=$(top_builddir)/src/liburcu-common.la |
62 | URCU_LIB=$(top_builddir)/src/liburcu.la | |
63 | URCU_QSBR_LIB=$(top_builddir)/src/liburcu-qsbr.la | |
64 | URCU_MB_LIB=$(top_builddir)/src/liburcu-mb.la | |
65 | URCU_SIGNAL_LIB=$(top_builddir)/src/liburcu-signal.la | |
66 | URCU_BP_LIB=$(top_builddir)/src/liburcu-bp.la | |
67 | URCU_CDS_LIB=$(top_builddir)/src/liburcu-cds.la | |
f5ab766e | 68 | |
2650042a MD |
69 | DEBUG_YIELD_LIB=$(builddir)/../common/libdebug-yield.la |
70 | ||
9e4e7ad1 | 71 | test_urcu_SOURCES = test_urcu.c common-states.c |
05a4bc03 | 72 | test_urcu_LDADD = $(URCU_LIB) |
f5ab766e | 73 | |
9e4e7ad1 | 74 | test_urcu_dynamic_link_SOURCES = test_urcu.c common-states.c |
05a4bc03 | 75 | test_urcu_dynamic_link_LDADD = $(URCU_LIB) |
f5ab766e MD |
76 | test_urcu_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
77 | ||
9e4e7ad1 | 78 | test_urcu_timing_SOURCES = test_urcu_timing.c common-states.c |
05a4bc03 | 79 | test_urcu_timing_LDADD = $(URCU_LIB) |
f5ab766e | 80 | |
9e4e7ad1 | 81 | test_urcu_yield_SOURCES = test_urcu.c common-states.c |
05a4bc03 | 82 | test_urcu_yield_LDADD = $(URCU_LIB) $(DEBUG_YIELD_LIB) |
f5ab766e MD |
83 | test_urcu_yield_CFLAGS = -DDEBUG_YIELD $(AM_CFLAGS) |
84 | ||
85 | ||
9e4e7ad1 | 86 | test_urcu_qsbr_SOURCES = test_urcu_qsbr.c common-states.c |
bb917e0f | 87 | test_urcu_qsbr_LDADD = $(URCU_QSBR_LIB) |
f5ab766e | 88 | |
9e4e7ad1 | 89 | test_urcu_qsbr_timing_SOURCES = test_urcu_qsbr_timing.c common-states.c |
bb917e0f | 90 | test_urcu_qsbr_timing_LDADD = $(URCU_QSBR_LIB) |
f5ab766e MD |
91 | |
92 | ||
9e4e7ad1 | 93 | test_urcu_mb_SOURCES = test_urcu.c common-states.c |
30ac8e5e | 94 | test_urcu_mb_LDADD = $(URCU_MB_LIB) |
f5ab766e MD |
95 | test_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS) |
96 | ||
97 | ||
9e4e7ad1 | 98 | test_urcu_signal_SOURCES = test_urcu.c common-states.c |
f368fd4b | 99 | test_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e MD |
100 | test_urcu_signal_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) |
101 | ||
9e4e7ad1 | 102 | test_urcu_signal_dynamic_link_SOURCES = test_urcu.c common-states.c |
f368fd4b | 103 | test_urcu_signal_dynamic_link_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e MD |
104 | test_urcu_signal_dynamic_link_CFLAGS = -DRCU_SIGNAL -DDYNAMIC_LINK_TEST \ |
105 | $(AM_CFLAGS) | |
106 | ||
9e4e7ad1 | 107 | test_urcu_signal_timing_SOURCES = test_urcu_timing.c common-states.c |
f368fd4b | 108 | test_urcu_signal_timing_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e MD |
109 | test_urcu_signal_timing_CFLAGS= -DRCU_SIGNAL $(AM_CFLAGS) |
110 | ||
9e4e7ad1 | 111 | test_urcu_signal_yield_SOURCES = test_urcu.c common-states.c |
f368fd4b | 112 | test_urcu_signal_yield_LDADD = $(URCU_SIGNAL_LIB) $(DEBUG_YIELD_LIB) |
f5ab766e MD |
113 | test_urcu_signal_yield_CFLAGS = -DRCU_SIGNAL -DDEBUG_YIELD $(AM_CFLAGS) |
114 | ||
9e4e7ad1 | 115 | test_rwlock_timing_SOURCES = test_rwlock_timing.c common-states.c |
f368fd4b | 116 | test_rwlock_timing_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e | 117 | |
9e4e7ad1 | 118 | test_rwlock_SOURCES = test_rwlock.c common-states.c |
f368fd4b | 119 | test_rwlock_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e | 120 | |
9e4e7ad1 | 121 | test_perthreadlock_timing_SOURCES = test_perthreadlock_timing.c common-states.c |
f368fd4b | 122 | test_perthreadlock_timing_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e | 123 | |
9e4e7ad1 | 124 | test_perthreadlock_SOURCES = test_perthreadlock.c common-states.c |
f368fd4b | 125 | test_perthreadlock_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e | 126 | |
9e4e7ad1 | 127 | test_mutex_SOURCES = test_mutex.c common-states.c |
f5ab766e | 128 | |
9e4e7ad1 | 129 | test_looplen_SOURCES = test_looplen.c common-states.c |
f5ab766e | 130 | |
9e4e7ad1 | 131 | test_urcu_gc_SOURCES = test_urcu_gc.c common-states.c |
05a4bc03 | 132 | test_urcu_gc_LDADD = $(URCU_LIB) |
f5ab766e | 133 | |
9e4e7ad1 | 134 | test_urcu_signal_gc_SOURCES = test_urcu_gc.c common-states.c |
f368fd4b | 135 | test_urcu_signal_gc_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e MD |
136 | test_urcu_signal_gc_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) |
137 | ||
9e4e7ad1 | 138 | test_urcu_mb_gc_SOURCES = test_urcu_gc.c common-states.c |
30ac8e5e | 139 | test_urcu_mb_gc_LDADD = $(URCU_MB_LIB) |
f5ab766e MD |
140 | test_urcu_mb_gc_CFLAGS = -DRCU_MB $(AM_CFLAGS) |
141 | ||
9e4e7ad1 | 142 | test_urcu_qsbr_gc_SOURCES = test_urcu_qsbr_gc.c common-states.c |
bb917e0f | 143 | test_urcu_qsbr_gc_LDADD = $(URCU_QSBR_LIB) |
f5ab766e | 144 | |
9e4e7ad1 | 145 | test_urcu_qsbr_lgc_SOURCES = test_urcu_qsbr_gc.c common-states.c |
bb917e0f | 146 | test_urcu_qsbr_lgc_LDADD = $(URCU_QSBR_LIB) |
f5ab766e MD |
147 | test_urcu_qsbr_lgc_CFLAGS = -DTEST_LOCAL_GC $(AM_CFLAGS) |
148 | ||
9e4e7ad1 | 149 | test_urcu_lgc_SOURCES = test_urcu_gc.c common-states.c |
05a4bc03 | 150 | test_urcu_lgc_LDADD = $(URCU_LIB) |
f5ab766e MD |
151 | test_urcu_lgc_CFLAGS = -DTEST_LOCAL_GC $(AM_CFLAGS) |
152 | ||
9e4e7ad1 | 153 | test_urcu_signal_lgc_SOURCES = test_urcu_gc.c common-states.c |
f368fd4b | 154 | test_urcu_signal_lgc_LDADD = $(URCU_SIGNAL_LIB) |
f5ab766e MD |
155 | test_urcu_signal_lgc_CFLAGS = -DRCU_SIGNAL -DTEST_LOCAL_GC $(AM_CFLAGS) |
156 | ||
9e4e7ad1 | 157 | test_urcu_mb_lgc_SOURCES = test_urcu_gc.c common-states.c |
30ac8e5e | 158 | test_urcu_mb_lgc_LDADD = $(URCU_MB_LIB) |
f5ab766e MD |
159 | test_urcu_mb_lgc_CFLAGS = -DTEST_LOCAL_GC -DRCU_MB $(AM_CFLAGS) |
160 | ||
9e4e7ad1 | 161 | test_urcu_qsbr_dynamic_link_SOURCES = test_urcu_qsbr.c common-states.c |
bb917e0f | 162 | test_urcu_qsbr_dynamic_link_LDADD = $(URCU_QSBR_LIB) |
f5ab766e MD |
163 | test_urcu_qsbr_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
164 | ||
9e4e7ad1 | 165 | test_urcu_defer_SOURCES = test_urcu_defer.c common-states.c |
fd76f239 | 166 | test_urcu_defer_LDADD = $(URCU_LIB) |
f5ab766e MD |
167 | |
168 | test_cycles_per_loop_SOURCES = test_cycles_per_loop.c | |
169 | ||
9e4e7ad1 | 170 | test_urcu_assign_SOURCES = test_urcu_assign.c common-states.c |
05a4bc03 | 171 | test_urcu_assign_LDADD = $(URCU_LIB) |
f5ab766e | 172 | |
9e4e7ad1 | 173 | test_urcu_assign_dynamic_link_SOURCES = test_urcu_assign.c common-states.c |
05a4bc03 | 174 | test_urcu_assign_dynamic_link_LDADD = $(URCU_LIB) |
f5ab766e MD |
175 | test_urcu_assign_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
176 | ||
9e4e7ad1 | 177 | test_urcu_bp_SOURCES = test_urcu_bp.c common-states.c |
6a3d2c22 | 178 | test_urcu_bp_LDADD = $(URCU_BP_LIB) |
f5ab766e | 179 | |
9e4e7ad1 | 180 | test_urcu_bp_dynamic_link_SOURCES = test_urcu_bp.c common-states.c |
6a3d2c22 | 181 | test_urcu_bp_dynamic_link_LDADD = $(URCU_BP_LIB) |
f5ab766e MD |
182 | test_urcu_bp_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
183 | ||
9e4e7ad1 | 184 | test_urcu_lfq_SOURCES = test_urcu_lfq.c common-states.c |
05a4bc03 | 185 | test_urcu_lfq_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 186 | |
9e4e7ad1 | 187 | test_urcu_lfq_dynlink_SOURCES = test_urcu_lfq.c common-states.c |
f5ab766e | 188 | test_urcu_lfq_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
05a4bc03 | 189 | test_urcu_lfq_dynlink_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 190 | |
9e4e7ad1 | 191 | test_urcu_wfq_SOURCES = test_urcu_wfq.c common-states.c |
f5ab766e MD |
192 | test_urcu_wfq_LDADD = $(URCU_COMMON_LIB) |
193 | ||
9e4e7ad1 | 194 | test_urcu_wfq_dynlink_SOURCES = test_urcu_wfq.c common-states.c |
f5ab766e MD |
195 | test_urcu_wfq_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
196 | test_urcu_wfq_dynlink_LDADD = $(URCU_COMMON_LIB) | |
197 | ||
9e4e7ad1 | 198 | test_urcu_wfcq_SOURCES = test_urcu_wfcq.c common-states.c |
f5ab766e MD |
199 | test_urcu_wfcq_LDADD = $(URCU_COMMON_LIB) |
200 | ||
9e4e7ad1 | 201 | test_urcu_wfcq_dynlink_SOURCES = test_urcu_wfcq.c common-states.c |
f5ab766e MD |
202 | test_urcu_wfcq_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
203 | test_urcu_wfcq_dynlink_LDADD = $(URCU_COMMON_LIB) | |
204 | ||
9e4e7ad1 | 205 | test_urcu_lfs_SOURCES = test_urcu_lfs.c common-states.c |
05a4bc03 | 206 | test_urcu_lfs_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 207 | |
9e4e7ad1 | 208 | test_urcu_lfs_rcu_SOURCES = test_urcu_lfs_rcu.c common-states.c |
05a4bc03 | 209 | test_urcu_lfs_rcu_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 210 | |
9e4e7ad1 | 211 | test_urcu_lfs_dynlink_SOURCES = test_urcu_lfs.c common-states.c |
f5ab766e | 212 | test_urcu_lfs_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
05a4bc03 | 213 | test_urcu_lfs_dynlink_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 214 | |
9e4e7ad1 | 215 | test_urcu_lfs_rcu_dynlink_SOURCES = test_urcu_lfs_rcu.c common-states.c |
f5ab766e | 216 | test_urcu_lfs_rcu_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
05a4bc03 | 217 | test_urcu_lfs_rcu_dynlink_LDADD = $(URCU_LIB) $(URCU_CDS_LIB) |
f5ab766e | 218 | |
9e4e7ad1 | 219 | test_urcu_wfs_SOURCES = test_urcu_wfs.c common-states.c |
f5ab766e MD |
220 | test_urcu_wfs_LDADD = $(URCU_COMMON_LIB) |
221 | ||
9e4e7ad1 | 222 | test_urcu_wfs_dynlink_SOURCES = test_urcu_wfs.c common-states.c |
f5ab766e MD |
223 | test_urcu_wfs_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) |
224 | test_urcu_wfs_dynlink_LDADD = $(URCU_COMMON_LIB) | |
225 | ||
226 | test_urcu_hash_SOURCES = test_urcu_hash.c test_urcu_hash.h \ | |
9e4e7ad1 | 227 | test_urcu_hash_rw.c test_urcu_hash_unique.c common-states.c |
f5ab766e | 228 | test_urcu_hash_CFLAGS = -DRCU_QSBR $(AM_CFLAGS) |
05a1c278 | 229 | test_urcu_hash_LDADD = $(URCU_QSBR_LIB) $(URCU_COMMON_LIB) $(URCU_CDS_LIB) |
f5ab766e | 230 | |
f356e6f3 MJ |
231 | all-local: |
232 | @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ | |
de6cb9d5 | 233 | for script in $(SCRIPT_LIST); do \ |
f356e6f3 MJ |
234 | cp -f $(srcdir)/$$script $(builddir); \ |
235 | done; \ | |
236 | fi | |
237 | ||
238 | clean-local: | |
239 | @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ | |
de6cb9d5 | 240 | for script in $(SCRIPT_LIST); do \ |
f356e6f3 MJ |
241 | rm -f $(builddir)/$$script; \ |
242 | done; \ | |
243 | fi | |
244 | ||
ad460058 | 245 | .PHONY: short_bench long_bench regtest |
f5ab766e | 246 | |
03c5782e MJ |
247 | # This empty variable is required to enable the TAP test suite for custom |
248 | # targets like 'regtest' while keeping the default 'check' a noop. | |
249 | TESTS = | |
250 | ||
251 | SHORT_BENCH_TESTS = urcu_3_seconds.tap hashtable_3_seconds.tap | |
252 | LONG_BENCH_TESTS = urcu_30_seconds.tap hashtable_30_seconds.tap | |
253 | REGTEST_TESTS = urcu_1_seconds.tap hashtable_1_seconds.tap | |
254 | ||
ad460058 | 255 | short_bench: |
03c5782e | 256 | $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(SHORT_BENCH_TESTS)" |
ad460058 MD |
257 | |
258 | long_bench: | |
03c5782e | 259 | $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(LONG_BENCH_TESTS)" |
ad460058 MD |
260 | |
261 | regtest: | |
03c5782e | 262 | $(MAKE) $(AM_MAKEFLAGS) check TESTS="$(REGTEST_TESTS)" |