include.am 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. TESTSCRIPTS = src/test/test_zero_length_keys.sh
  2. if USEPYTHON
  3. TESTSCRIPTS += src/test/test_ntor.sh src/test/test_bt.sh
  4. endif
  5. TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
  6. src/test/test_workqueue $(TESTSCRIPTS)
  7. ### This is a lovely feature, but it requires automake >= 1.12, and Tor
  8. ### doesn't require that yet. Below is a kludge to work around.
  9. ###
  10. # TEST_EXTENSIONS = .sh
  11. # SH_LOG_COMPILER = $(SHELL)
  12. check-am: set-test-permissions
  13. .PHONY: set-test-permissions
  14. set-test-permissions: $(TESTSCRIPTS)
  15. $(AM_V_at)chmod u+x $(TESTSCRIPTS)
  16. noinst_PROGRAMS+= src/test/bench
  17. if UNITTESTS_ENABLED
  18. noinst_PROGRAMS+= \
  19. src/test/test \
  20. src/test/test-slow \
  21. src/test/test-memwipe \
  22. src/test/test-child \
  23. src/test/test_workqueue
  24. endif
  25. src_test_AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
  26. -DLOCALSTATEDIR="\"$(localstatedir)\"" \
  27. -DBINDIR="\"$(bindir)\"" \
  28. -I"$(top_srcdir)/src/or" -I"$(top_srcdir)/src/ext" \
  29. -I"$(top_srcdir)/src/trunnel" \
  30. -I"$(top_srcdir)/src/ext/trunnel" \
  31. -DTOR_UNIT_TESTS
  32. # -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
  33. # This seems to matter nowhere but on Windows, but I assure you that it
  34. # matters a lot there, and is quite hard to debug if you forget to do it.
  35. src_test_test_SOURCES = \
  36. src/test/test.c \
  37. src/test/test_accounting.c \
  38. src/test/test_addr.c \
  39. src/test/test_address.c \
  40. src/test/test_buffers.c \
  41. src/test/test_cell_formats.c \
  42. src/test/test_cell_queue.c \
  43. src/test/test_channel.c \
  44. src/test/test_channeltls.c \
  45. src/test/test_checkdir.c \
  46. src/test/test_circuitlist.c \
  47. src/test/test_circuitmux.c \
  48. src/test/test_config.c \
  49. src/test/test_containers.c \
  50. src/test/test_controller.c \
  51. src/test/test_controller_events.c \
  52. src/test/test_crypto.c \
  53. src/test/test_data.c \
  54. src/test/test_dir.c \
  55. src/test/test_entryconn.c \
  56. src/test/test_entrynodes.c \
  57. src/test/test_guardfraction.c \
  58. src/test/test_extorport.c \
  59. src/test/test_hs.c \
  60. src/test/test_introduce.c \
  61. src/test/test_keypin.c \
  62. src/test/test_link_handshake.c \
  63. src/test/test_logging.c \
  64. src/test/test_microdesc.c \
  65. src/test/test_nodelist.c \
  66. src/test/test_oom.c \
  67. src/test/test_options.c \
  68. src/test/test_policy.c \
  69. src/test/test_pt.c \
  70. src/test/test_relay.c \
  71. src/test/test_relaycell.c \
  72. src/test/test_replay.c \
  73. src/test/test_routerkeys.c \
  74. src/test/test_routerlist.c \
  75. src/test/test_routerset.c \
  76. src/test/test_scheduler.c \
  77. src/test/test_socks.c \
  78. src/test/test_status.c \
  79. src/test/test_threads.c \
  80. src/test/test_util.c \
  81. src/test/test_helpers.c \
  82. src/test/test_dns.c \
  83. src/test/testing_common.c \
  84. src/ext/tinytest.c
  85. src_test_test_slow_SOURCES = \
  86. src/test/test_slow.c \
  87. src/test/test_crypto_slow.c \
  88. src/test/test_util_slow.c \
  89. src/test/testing_common.c \
  90. src/ext/tinytest.c
  91. src_test_test_memwipe_SOURCES = \
  92. src/test/test-memwipe.c
  93. src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  94. src_test_test_CPPFLAGS= $(src_test_AM_CPPFLAGS) $(TEST_CPPFLAGS)
  95. src_test_bench_SOURCES = \
  96. src/test/bench.c
  97. src_test_test_workqueue_SOURCES = \
  98. src/test/test_workqueue.c
  99. src_test_test_workqueue_CPPFLAGS= $(src_test_AM_CPPFLAGS)
  100. src_test_test_workqueue_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  101. src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
  102. @TOR_LDFLAGS_libevent@
  103. src_test_test_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
  104. src/common/libor-crypto-testing.a $(LIBDONNA) src/common/libor.a \
  105. src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.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@
  109. src_test_test_slow_CPPFLAGS = $(src_test_test_CPPFLAGS)
  110. src_test_test_slow_CFLAGS = $(src_test_test_CFLAGS)
  111. src_test_test_slow_LDADD = $(src_test_test_LDADD)
  112. src_test_test_slow_LDFLAGS = $(src_test_test_LDFLAGS)
  113. src_test_test_memwipe_CPPFLAGS = $(src_test_test_CPPFLAGS)
  114. src_test_test_memwipe_CFLAGS = $(src_test_test_CFLAGS)
  115. src_test_test_memwipe_LDADD = $(src_test_test_LDADD)
  116. src_test_test_memwipe_LDFLAGS = $(src_test_test_LDFLAGS)
  117. src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
  118. @TOR_LDFLAGS_libevent@
  119. src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
  120. src/common/libor-crypto.a $(LIBDONNA) \
  121. src/common/libor-event.a src/trunnel/libor-trunnel.a \
  122. @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
  123. @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \
  124. @TOR_SYSTEMD_LIBS@
  125. src_test_test_workqueue_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
  126. @TOR_LDFLAGS_libevent@
  127. src_test_test_workqueue_LDADD = src/or/libtor-testing.a \
  128. src/common/libor-testing.a \
  129. src/common/libor-crypto-testing.a $(LIBDONNA) \
  130. src/common/libor-event-testing.a \
  131. @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
  132. @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
  133. noinst_HEADERS+= \
  134. src/test/fakechans.h \
  135. src/test/test.h \
  136. src/test/test_helpers.h \
  137. src/test/test_descriptors.inc \
  138. src/test/example_extrainfo.inc \
  139. src/test/failing_routerdescs.inc \
  140. src/test/ed25519_vectors.inc \
  141. src/test/test_descriptors.inc
  142. noinst_PROGRAMS+= src/test/test-ntor-cl
  143. src_test_test_ntor_cl_SOURCES = src/test/test_ntor_cl.c
  144. src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
  145. src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
  146. src/common/libor-crypto.a $(LIBDONNA) \
  147. @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
  148. @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
  149. src_test_test_ntor_cl_AM_CPPFLAGS = \
  150. -I"$(top_srcdir)/src/or"
  151. noinst_PROGRAMS += src/test/test-bt-cl
  152. src_test_test_bt_cl_SOURCES = src/test/test_bt_cl.c
  153. src_test_test_bt_cl_LDADD = src/common/libor-testing.a \
  154. @TOR_LIB_MATH@ \
  155. @TOR_LIB_WS32@ @TOR_LIB_GDI@
  156. src_test_test_bt_cl_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  157. src_test_test_bt_cl_CPPFLAGS= $(src_test_AM_CPPFLAGS) $(TEST_CPPFLAGS)
  158. EXTRA_DIST += \
  159. src/test/bt_test.py \
  160. src/test/ntor_ref.py \
  161. src/test/slownacl_curve25519.py \
  162. src/test/zero_length_keys.sh