TESTS += zcash-gtest
-bin_PROGRAMS += zcash-gtest
+noinst_PROGRAMS += zcash-gtest
-# tool for generating our public parameters
+# tool for generating our public parameters.
+# test_checktransaction.cpp MUST be before
+# any test that calls SelectParams().
zcash_gtest_SOURCES = \
gtest/main.cpp \
gtest/utils.cpp \
gtest/test_checktransaction.cpp \
gtest/json_test_vectors.cpp \
- gtest/json_test_vectors.h \
- gtest/test_foundersreward.cpp \
- gtest/test_wallet_zkeys.cpp \
- gtest/test_jsonspirit.cpp \
+ gtest/json_test_vectors.h \
+ gtest/test_foundersreward.cpp
+# These tests are order-dependent, because they
+# depend on global state (see #1539)
+if ENABLE_WALLET
+zcash_gtest_SOURCES += \
+ wallet/gtest/test_wallet_zkeys.cpp
+endif
+zcash_gtest_SOURCES += \
gtest/test_tautology.cpp \
gtest/test_equihash.cpp \
gtest/test_joinsplit.cpp \
gtest/test_keystore.cpp \
gtest/test_noteencryption.cpp \
gtest/test_merkletree.cpp \
+ gtest/test_metrics.cpp \
+ gtest/test_miner.cpp \
gtest/test_pow.cpp \
gtest/test_random.cpp \
gtest/test_rpc.cpp \
gtest/test_txid.cpp \
gtest/test_libzcash_utils.cpp \
gtest/test_proofs.cpp \
+ gtest/test_checkblock.cpp
+if ENABLE_WALLET
+zcash_gtest_SOURCES += \
wallet/gtest/test_wallet.cpp
+endif
-zcash_gtest_CPPFLAGS = -DMULTICORE -fopenmp -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC
+zcash_gtest_CPPFLAGS = -DMULTICORE -fopenmp -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES)
-zcash_gtest_LDADD = -lgtest -lgmock $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \
+zcash_gtest_LDADD = -lgtest -lgmock $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \
$(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1)
+if ENABLE_ZMQ
+zcash_gtest_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
+endif
if ENABLE_WALLET
zcash_gtest_LDADD += $(LIBBITCOIN_WALLET)
endif