Merge remote-tracking branch 'public/bug13796'
[tor.git] / src / test / include.am
blob595be0b7c2c435ee90764a15a0ba3b96fb6c4eef
1 TESTS += src/test/test src/test/test-slow
3 noinst_PROGRAMS+= src/test/bench
4 if UNITTESTS_ENABLED
5 noinst_PROGRAMS+= \
6         src/test/test \
7         src/test/test-slow \
8         src/test/test-child \
9         src/test/test_workqueue
10 endif
12 src_test_AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
13         -DLOCALSTATEDIR="\"$(localstatedir)\"" \
14         -DBINDIR="\"$(bindir)\""               \
15         -I"$(top_srcdir)/src/or" -I"$(top_srcdir)/src/ext" \
16         -DTOR_UNIT_TESTS
18 # -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
19 # This seems to matter nowhere but on Windows, but I assure you that it
20 # matters a lot there, and is quite hard to debug if you forget to do it.
22 src_test_test_SOURCES = \
23         src/test/test.c \
24         src/test/test_accounting.c \
25         src/test/test_addr.c \
26         src/test/test_address.c \
27         src/test/test_buffers.c \
28         src/test/test_cell_formats.c \
29         src/test/test_cell_queue.c \
30         src/test/test_channel.c \
31         src/test/test_channeltls.c \
32         src/test/test_checkdir.c \
33         src/test/test_circuitlist.c \
34         src/test/test_circuitmux.c \
35         src/test/test_config.c \
36         src/test/test_containers.c \
37         src/test/test_controller_events.c \
38         src/test/test_crypto.c \
39         src/test/test_data.c \
40         src/test/test_dir.c \
41         src/test/test_entryconn.c \
42         src/test/test_entrynodes.c \
43         src/test/test_extorport.c \
44         src/test/test_hs.c \
45         src/test/test_introduce.c \
46         src/test/test_logging.c \
47         src/test/test_microdesc.c \
48         src/test/test_nodelist.c \
49         src/test/test_oom.c \
50         src/test/test_options.c \
51         src/test/test_policy.c \
52         src/test/test_pt.c \
53         src/test/test_relay.c \
54         src/test/test_relaycell.c \
55         src/test/test_replay.c \
56         src/test/test_routerkeys.c \
57         src/test/test_routerlist.c \
58         src/test/test_routerset.c \
59         src/test/test_scheduler.c \
60         src/test/test_socks.c \
61         src/test/test_status.c \
62         src/test/test_threads.c \
63         src/test/test_util.c \
64         src/test/testing_common.c \
65         src/ext/tinytest.c
67 src_test_test_slow_SOURCES = \
68         src/test/test_slow.c \
69         src/test/test_crypto_slow.c \
70         src/test/test_util_slow.c \
71         src/test/testing_common.c \
72         src/ext/tinytest.c
75 src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
77 src_test_test_CPPFLAGS= $(src_test_AM_CPPFLAGS)
79 src_test_bench_SOURCES = \
80         src/test/bench.c
82 src_test_test_workqueue_SOURCES = \
83         src/test/test_workqueue.c
84 src_test_test_workqueue_CPPFLAGS= $(src_test_AM_CPPFLAGS)
85 src_test_test_workqueue_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
87 src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
88         @TOR_LDFLAGS_libevent@
89 src_test_test_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
90         src/common/libor-crypto-testing.a $(LIBDONNA) \
91         src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \
92         @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
93         @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \
94         @TOR_SYSTEMD_LIBS@
96 src_test_test_slow_CPPFLAGS = $(src_test_test_CPPFLAGS)
97 src_test_test_slow_CFLAGS = $(src_test_test_CFLAGS)
98 src_test_test_slow_LDADD = $(src_test_test_LDADD)
99 src_test_test_slow_LDFLAGS = $(src_test_test_LDFLAGS)
101 src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
102         @TOR_LDFLAGS_libevent@
103 src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
104         src/common/libor-crypto.a $(LIBDONNA) \
105         src/common/libor-event.a \
106         @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
107         @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \
108         @TOR_SYSTEMD_LIBS@
110 src_test_test_workqueue_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
111         @TOR_LDFLAGS_libevent@
112 src_test_test_workqueue_LDADD = src/or/libtor-testing.a \
113         src/common/libor-testing.a \
114         src/common/libor-crypto-testing.a $(LIBDONNA) \
115         src/common/libor-event-testing.a \
116         @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
117         @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
119 noinst_HEADERS+= \
120         src/test/fakechans.h \
121         src/test/test.h \
122         src/test/test_descriptors.inc \
123         src/test/example_extrainfo.inc \
124         src/test/failing_routerdescs.inc \
125         src/test/ed25519_vectors.inc
127 noinst_PROGRAMS+= src/test/test-ntor-cl
128 src_test_test_ntor_cl_SOURCES  = src/test/test_ntor_cl.c
129 src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
130 src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
131         src/common/libor-crypto.a $(LIBDONNA) \
132         @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
133         @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
134 src_test_test_ntor_cl_AM_CPPFLAGS =            \
135         -I"$(top_srcdir)/src/or"
136 NTOR_TEST_DEPS=src/test/test-ntor-cl
138 if COVERAGE_ENABLED
139 CMDLINE_TEST_TOR = ./src/or/tor-cov
140 else
141 CMDLINE_TEST_TOR = ./src/or/tor
142 endif
144 noinst_PROGRAMS += src/test/test-bt-cl
145 src_test_test_bt_cl_SOURCES = src/test/test_bt_cl.c
146 src_test_test_bt_cl_LDADD = src/common/libor-testing.a \
147         @TOR_LIB_MATH@ \
148         @TOR_LIB_WS32@ @TOR_LIB_GDI@
149 src_test_test_bt_cl_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
150 src_test_test_bt_cl_CPPFLAGS= $(src_test_AM_CPPFLAGS)
153 check-local: $(NTOR_TEST_DEPS) $(CMDLINE_TEST_TOR)
154 if USEPYTHON
155         $(PYTHON) $(top_srcdir)/src/test/test_cmdline_args.py $(CMDLINE_TEST_TOR) "${top_srcdir}"
156         $(PYTHON) $(top_srcdir)/src/test/ntor_ref.py test-tor
157         $(PYTHON) $(top_srcdir)/src/test/ntor_ref.py self-test
158         ./src/test/test-bt-cl assert | $(PYTHON) $(top_srcdir)/src/test/bt_test.py
159         ./src/test/test-bt-cl crash | $(PYTHON) $(top_srcdir)/src/test/bt_test.py
160 endif
161         $(top_srcdir)/src/test/zero_length_keys.sh
163 EXTRA_DIST += \
164         src/test/bt_test.py \
165         src/test/ntor_ref.py \
166         src/test/slownacl_curve25519.py \
167         src/test/test_cmdline_args.py \
168         src/test/zero_length_keys.sh