+spooky_hash_v1_test_SOURCES = SpookyHashV1Test.cpp
+spooky_hash_v1_test_LDADD = libfollytestmain.la $(top_builddir)/libfollybenchmark.la
+TESTS += spooky_hash_v1_test
+
+spooky_hash_v2_test_SOURCES = SpookyHashV2Test.cpp
+spooky_hash_v2_test_LDADD = libfollytestmain.la $(top_builddir)/libfollybenchmark.la
+TESTS += spooky_hash_v2_test
+
+token_bucket_test_SOURCES = TokenBucketTest.cpp
+token_bucket_test_LDADD = libfollytestmain.la $(top_builddir)/libfollybenchmark.la
+TESTS += token_bucket_test
+
+thread_name_test_SOURCES = ThreadNameTest.cpp
+thread_name_test_LDADD = libfollytestmain.la
+TESTS += thread_name_test
+
+indestructible_test_SOURCES = IndestructibleTest.cpp
+indestructible_test_LDADD = libfollytestmain.la
+TESTS += indestructible_test
+
+portability_clock_gettime_wrappers_test_SOURCES = ClockGettimeWrappersTest.cpp
+portability_clock_gettime_wrappers_test_LDADD = libfollytestmain.la
+TESTS += portability_clock_gettime_wrappers_test
+
+portability_time_test_SOURCES = ../portability/test/TimeTest.cpp
+portability_time_test_LDADD = libfollytestmain.la
+TESTS += portability_time_test
+
+portability_constexpr_test_SOURCES = ../portability/test/ConstexprTest.cpp
+portability_constexpr_test_LDADD = libfollytestmain.la
+TESTS += portability_constexpr_test
+
+try_test_SOURCES = TryTest.cpp
+try_test_LDADD = libfollytestmain.la
+TESTS += try_test
+
+uncaught_exceptions_test_SOURCES = UncaughtExceptionsTest.cpp
+uncaught_exceptions_test_LDADD = libfollytestmain.la
+TESTS += uncaught_exceptions_test
+
+unit_test_SOURCES = UnitTest.cpp
+unit_test_LDADD = libfollytestmain.la
+TESTS += unit_test
+
+futures_test_SOURCES = \
+ ../futures/test/CollectTest.cpp \
+ ../futures/test/ContextTest.cpp \
+ ../futures/test/CoreTest.cpp \
+ ../futures/test/EnsureTest.cpp \
+ ../futures/test/ExecutorTest.cpp \
+ ../futures/test/FSMTest.cpp \
+ ../futures/test/FilterTest.cpp \
+ ../futures/test/FutureTest.cpp \
+ ../futures/test/HeaderCompileTest.cpp \
+ ../futures/test/InterruptTest.cpp \
+ ../futures/test/MapTest.cpp \
+ ../futures/test/NonCopyableLambdaTest.cpp \
+ ../futures/test/PollTest.cpp \
+ ../futures/test/PromiseTest.cpp \
+ ../futures/test/ReduceTest.cpp \
+ ../futures/test/RetryingTest.cpp \
+ ../futures/test/SelfDestructTest.cpp \
+ ../futures/test/SharedPromiseTest.cpp \
+ ../futures/test/TestExecutorTest.cpp \
+ ../futures/test/ThenCompileTest.cpp \
+ ../futures/test/ThenTest.cpp \
+ ../futures/test/TimekeeperTest.cpp \
+ ../futures/test/TimesTest.cpp \
+ ../futures/test/UnwrapTest.cpp \
+ ../futures/test/ViaTest.cpp \
+ ../futures/test/WaitTest.cpp \
+ ../futures/test/WillEqualTest.cpp \
+ ../futures/test/WindowTest.cpp \
+ ../futures/test/WhenTest.cpp \
+ ../futures/test/WhileDoTest.cpp
+
+futures_test_LDADD = libfollytestmain.la
+TESTS += futures_test
+
+function_test_SOURCES = \
+ FunctionRefTest.cpp \
+ FunctionTest.cpp
+function_test_LDADD = libfollytestmain.la
+TESTS += function_test
+
+functional_test_SOURCES = \
+ FunctionalTest.cpp
+functional_test_LDADD = libfollytestmain.la
+TESTS += functional_test
+
+ssl_test_SOURCES = \
+ ../ssl/test/OpenSSLHashTest.cpp
+ssl_test_LDADD = libfollytestmain.la -lcrypto
+TESTS += ssl_test
+
+mallctl_helper_test_SOURCES = MallctlHelperTest.cpp
+mallctl_helper_test_LDADD = libfollytestmain.la
+TESTS += mallctl_helper_test
+
+apply_tuple_test_SOURCES = ApplyTupleTest.cpp
+apply_tuple_test_LDADD = libfollytestmain.la
+TESTS += apply_tuple_test
+
+partial_test_SOURCES = PartialTest.cpp
+partial_test_LDADD = libfollytestmain.la
+TESTS += partial_test
+
+singleton_thread_local_test_SOURCES = SingletonThreadLocalTest.cpp
+singleton_thread_local_test_LDADD = libfollytestmain.la
+TESTS += singleton_thread_local_test
+
+utility_test_SOURCES = UtilityTest.cpp
+utility_test_LDADD = libfollytestmain.la
+TESTS += utility_test
+
+iterator_test_SOURCES = IteratorTest.cpp
+iterator_test_LDADD = libfollytestmain.la
+TESTS += iterator_test
+
+check_PROGRAMS += $(TESTS)