mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
5feae32f46
make test-network-all is Makefile target which verifies a series of test networks generated using test-network.sh and chutney. It runs IPv6 and mixed version test networks if the prerequisites are available. Each test network reports PASS, FAIL, or SKIP. Closes ticket 16953. Patch by "teor". Also adds "--hs-multi-client 1" option to TEST_NETWORK_FLAGS. This resolves #17012. Larger networks, such as bridges+hs, may fail until #16952 is merged.
198 lines
6.3 KiB
Plaintext
198 lines
6.3 KiB
Plaintext
|
|
TESTSCRIPTS = src/test/test_zero_length_keys.sh
|
|
|
|
if USEPYTHON
|
|
TESTSCRIPTS += src/test/test_ntor.sh src/test/test_bt.sh
|
|
endif
|
|
|
|
TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
|
|
src/test/test_workqueue src/test/test_keygen.sh $(TESTSCRIPTS)
|
|
|
|
# These flavors are run using automake's test-driver and test-network.sh
|
|
TEST_CHUTNEY_FLAVORS = basic-min bridges-min hs-min bridges+hs
|
|
# only run if we can ping6 ::1 (localhost)
|
|
TEST_CHUTNEY_FLAVORS_IPV6 = bridges+ipv6-min ipv6-exit-min
|
|
# only run if we can find a stable (or simply another) version of tor
|
|
TEST_CHUTNEY_FLAVORS_MIXED = mixed
|
|
|
|
### This is a lovely feature, but it requires automake >= 1.12, and Tor
|
|
### doesn't require that yet. Below is a kludge to work around.
|
|
###
|
|
# TEST_EXTENSIONS = .sh
|
|
# SH_LOG_COMPILER = $(SHELL)
|
|
|
|
check-am: set-test-permissions
|
|
|
|
.PHONY: set-test-permissions
|
|
set-test-permissions: $(TESTSCRIPTS)
|
|
$(AM_V_at)chmod u+x $(TESTSCRIPTS)
|
|
|
|
|
|
noinst_PROGRAMS+= src/test/bench
|
|
if UNITTESTS_ENABLED
|
|
noinst_PROGRAMS+= \
|
|
src/test/test \
|
|
src/test/test-slow \
|
|
src/test/test-memwipe \
|
|
src/test/test-child \
|
|
src/test/test_workqueue
|
|
endif
|
|
|
|
src_test_AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
|
|
-DLOCALSTATEDIR="\"$(localstatedir)\"" \
|
|
-DBINDIR="\"$(bindir)\"" \
|
|
-I"$(top_srcdir)/src/or" -I"$(top_srcdir)/src/ext" \
|
|
-I"$(top_srcdir)/src/trunnel" \
|
|
-I"$(top_srcdir)/src/ext/trunnel" \
|
|
-DTOR_UNIT_TESTS
|
|
|
|
# -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
|
|
# This seems to matter nowhere but on Windows, but I assure you that it
|
|
# matters a lot there, and is quite hard to debug if you forget to do it.
|
|
|
|
src_test_test_SOURCES = \
|
|
src/test/test.c \
|
|
src/test/test_accounting.c \
|
|
src/test/test_addr.c \
|
|
src/test/test_address.c \
|
|
src/test/test_buffers.c \
|
|
src/test/test_cell_formats.c \
|
|
src/test/test_cell_queue.c \
|
|
src/test/test_channel.c \
|
|
src/test/test_channeltls.c \
|
|
src/test/test_checkdir.c \
|
|
src/test/test_circuitlist.c \
|
|
src/test/test_circuitmux.c \
|
|
src/test/test_config.c \
|
|
src/test/test_containers.c \
|
|
src/test/test_controller.c \
|
|
src/test/test_controller_events.c \
|
|
src/test/test_crypto.c \
|
|
src/test/test_data.c \
|
|
src/test/test_dir.c \
|
|
src/test/test_entryconn.c \
|
|
src/test/test_entrynodes.c \
|
|
src/test/test_guardfraction.c \
|
|
src/test/test_extorport.c \
|
|
src/test/test_hs.c \
|
|
src/test/test_introduce.c \
|
|
src/test/test_keypin.c \
|
|
src/test/test_link_handshake.c \
|
|
src/test/test_logging.c \
|
|
src/test/test_microdesc.c \
|
|
src/test/test_nodelist.c \
|
|
src/test/test_oom.c \
|
|
src/test/test_options.c \
|
|
src/test/test_policy.c \
|
|
src/test/test_pt.c \
|
|
src/test/test_relay.c \
|
|
src/test/test_relaycell.c \
|
|
src/test/test_replay.c \
|
|
src/test/test_routerkeys.c \
|
|
src/test/test_routerlist.c \
|
|
src/test/test_routerset.c \
|
|
src/test/test_scheduler.c \
|
|
src/test/test_socks.c \
|
|
src/test/test_status.c \
|
|
src/test/test_threads.c \
|
|
src/test/test_util.c \
|
|
src/test/test_helpers.c \
|
|
src/test/test_dns.c \
|
|
src/test/testing_common.c \
|
|
src/ext/tinytest.c
|
|
|
|
src_test_test_slow_SOURCES = \
|
|
src/test/test_slow.c \
|
|
src/test/test_crypto_slow.c \
|
|
src/test/test_util_slow.c \
|
|
src/test/testing_common.c \
|
|
src/ext/tinytest.c
|
|
|
|
src_test_test_memwipe_SOURCES = \
|
|
src/test/test-memwipe.c
|
|
|
|
|
|
src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
|
|
src_test_test_CPPFLAGS= $(src_test_AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
|
|
|
src_test_bench_SOURCES = \
|
|
src/test/bench.c
|
|
|
|
src_test_test_workqueue_SOURCES = \
|
|
src/test/test_workqueue.c
|
|
src_test_test_workqueue_CPPFLAGS= $(src_test_AM_CPPFLAGS)
|
|
src_test_test_workqueue_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
|
|
src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
|
|
@TOR_LDFLAGS_libevent@
|
|
src_test_test_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
|
|
src/common/libor-crypto-testing.a $(LIBDONNA) src/common/libor.a \
|
|
src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
|
|
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \
|
|
@TOR_SYSTEMD_LIBS@
|
|
|
|
src_test_test_slow_CPPFLAGS = $(src_test_test_CPPFLAGS)
|
|
src_test_test_slow_CFLAGS = $(src_test_test_CFLAGS)
|
|
src_test_test_slow_LDADD = $(src_test_test_LDADD)
|
|
src_test_test_slow_LDFLAGS = $(src_test_test_LDFLAGS)
|
|
|
|
src_test_test_memwipe_CPPFLAGS = $(src_test_test_CPPFLAGS)
|
|
src_test_test_memwipe_CFLAGS = $(src_test_test_CFLAGS)
|
|
src_test_test_memwipe_LDADD = $(src_test_test_LDADD)
|
|
src_test_test_memwipe_LDFLAGS = $(src_test_test_LDFLAGS)
|
|
|
|
src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
|
|
@TOR_LDFLAGS_libevent@
|
|
src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
|
|
src/common/libor-crypto.a $(LIBDONNA) \
|
|
src/common/libor-event.a src/trunnel/libor-trunnel.a \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
|
|
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \
|
|
@TOR_SYSTEMD_LIBS@
|
|
|
|
src_test_test_workqueue_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
|
|
@TOR_LDFLAGS_libevent@
|
|
src_test_test_workqueue_LDADD = src/or/libtor-testing.a \
|
|
src/common/libor-testing.a \
|
|
src/common/libor-crypto-testing.a $(LIBDONNA) \
|
|
src/common/libor-event-testing.a \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
|
|
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
|
|
|
|
noinst_HEADERS+= \
|
|
src/test/fakechans.h \
|
|
src/test/test.h \
|
|
src/test/test_helpers.h \
|
|
src/test/test_descriptors.inc \
|
|
src/test/example_extrainfo.inc \
|
|
src/test/failing_routerdescs.inc \
|
|
src/test/ed25519_vectors.inc \
|
|
src/test/test_descriptors.inc
|
|
|
|
noinst_PROGRAMS+= src/test/test-ntor-cl
|
|
src_test_test_ntor_cl_SOURCES = src/test/test_ntor_cl.c
|
|
src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
|
|
src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
|
|
src/common/libor-crypto.a $(LIBDONNA) \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
|
|
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
|
|
src_test_test_ntor_cl_AM_CPPFLAGS = \
|
|
-I"$(top_srcdir)/src/or"
|
|
|
|
noinst_PROGRAMS += src/test/test-bt-cl
|
|
src_test_test_bt_cl_SOURCES = src/test/test_bt_cl.c
|
|
src_test_test_bt_cl_LDADD = src/common/libor-testing.a \
|
|
@TOR_LIB_MATH@ \
|
|
@TOR_LIB_WS32@ @TOR_LIB_GDI@
|
|
src_test_test_bt_cl_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
src_test_test_bt_cl_CPPFLAGS= $(src_test_AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
|
|
|
EXTRA_DIST += \
|
|
src/test/bt_test.py \
|
|
src/test/ntor_ref.py \
|
|
src/test/slownacl_curve25519.py \
|
|
src/test/zero_length_keys.sh \
|
|
src/test/test_keygen.sh
|