diff --git a/depends/config.guess b/depends/config.guess old mode 100644 new mode 100755 diff --git a/depends/config.sub b/depends/config.sub old mode 100644 new mode 100755 diff --git a/src/Makefile.gtest.include b/src/Makefile.gtest.include deleted file mode 100644 index 6ab2890a6c..0000000000 --- a/src/Makefile.gtest.include +++ /dev/null @@ -1,61 +0,0 @@ -TESTS += sigma_R1_test -noinst_PROGRAMS += gtest/sigma_R1_test - -gtest_sigma_R1_test_SOURCES = \ - gtest/main.cpp \ - gtest/sigma_R1_test.cpp - -gtest_sigma_R1_test_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_R1_test_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) - -gtest_sigma_R1_test_LDADD = -lgtest -lgmock $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) $(SSL_LIBS) -lcrypto $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) -lgmp - -TESTS += sigma_plus_test -noinst_PROGRAMS += gtest/sigma_plus_test -gtest_sigma_plus_test_SOURCES = \ - gtest/main.cpp \ - gtest/sigma_plus_test.cpp - -gtest_sigma_plus_test_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_plus_test_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -gtest_sigma_plus_test_LDADD = -lgtest -lgmock $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) -lcrypto $(SSL_LIBS) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) -lgmp - -TESTS += sigma_unit_tests -noinst_PROGRAMS += gtest/sigma_unit_tests -gtest_sigma_unit_tests_SOURCES = \ - gtest/main.cpp \ - gtest/sigma_unit_tests.cpp - -gtest_sigma_unit_tests_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_unit_tests_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -gtest_sigma_unit_tests_LDADD = -lgtest -lgmock $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) $(SSL_LIBS) -lcrypto $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) -lgmp - - -TESTS += sigma_perform_test -noinst_PROGRAMS += gtest/sigma_perform_test -gtest_sigma_perform_test_SOURCES = \ - gtest/sigma_perform_test.cpp - -gtest_sigma_perform_test_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_perform_test_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -gtest_sigma_perform_test_LDADD = -lgtest -lgmock $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) $(SSL_LIBS) -lcrypto $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) -lgmp - -TESTS += sigma_serialize_test -noinst_PROGRAMS += gtest/sigma_serialize_test -gtest_sigma_serialize_test_SOURCES = \ - gtest/main.cpp \ - gtest/sigma_serialize_test.cpp - -gtest_sigma_serialize_test_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_serialize_test_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -gtest_sigma_serialize_test_LDADD = -lgtest -lgmock $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) $(SSL_LIBS) -lcrypto $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) -lgmp - -TESTS += sigma_PublicPrivateCoin_test -noinst_PROGRAMS += gtest/sigma_PublicPrivateCoin_test -gtest_sigma_PublicPrivateCoin_test_SOURCES = \ - gtest/main.cpp \ - gtest/sigma_PublicPrivateCoin_test.cpp - -gtest_sigma_PublicPrivateCoin_test_CPPFLAGS = $(AM_CPPFLAGS) -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC $(BITCOIN_INCLUDES) -gtest_sigma_PublicPrivateCoin_test_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -gtest_sigma_PublicPrivateCoin_test_LDADD = -lgtest -lgmock $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSIGMA) $(LIBSECP256K1) $(SSL_LIBS) -lcrypto $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(BOOST_LIBS) -lgmp diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 3d6a84cf4e..211209728d 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -39,6 +39,11 @@ RAW_TEST_FILES = GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) $(RAW_TEST_FILES:.raw=.raw.h) BITCOIN_TESTS =\ + libzerocoin/sigma/test/coin_tests.cpp \ + libzerocoin/sigma/test/protocol_tests.cpp \ + libzerocoin/sigma/test/unit_tests.cpp \ + libzerocoin/sigma/test/R1_test.cpp \ + libzerocoin/sigma/test/serialize_test.cpp \ test/zerocoin_tests.cpp \ test/zerocoin_tests2.cpp \ test/zerocoin_tests3.cpp \ @@ -118,7 +123,7 @@ test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) tor/src/or/libtor.a \ tor/src/common/libcurve25519_donna.a \ tor/src/ext/ed25519/donna/libed25519_donna.a \ tor/src/ext/ed25519/ref10/libed25519_ref10.a \ - tor/src/ext/keccak-tiny/libkeccak-tiny.a $(ZLIB_LIBS) -lz + tor/src/ext/keccak-tiny/libkeccak-tiny.a $(LIBSIGMA) $(ZLIB_LIBS) -lz test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) test_test_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) diff --git a/src/gtest/main.cpp b/src/gtest/main.cpp deleted file mode 100644 index e56a8fb078..0000000000 --- a/src/gtest/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main(int argc, char **argv) { - - ::testing::InitGoogleTest(&argc, argv); - - return RUN_ALL_TESTS(); -} diff --git a/src/gtest/sigma_PublicPrivateCoin_test.cpp b/src/gtest/sigma_PublicPrivateCoin_test.cpp deleted file mode 100644 index dc708ed00c..0000000000 --- a/src/gtest/sigma_PublicPrivateCoin_test.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include -#include -#include -#include "../streams.h" - -using namespace sigma; -using namespace std; - -TEST(sigma_PublicPrivateCoin_test, test) -{ - //creating params - ParamsV3* params = sigma::ParamsV3::get_default(); - - //testing public coin and serialize - secp_primitives::GroupElement coin; - coin.randomize(); - PublicCoinV3 publicCoin(coin, ZQ_GOLDWASSER); - CDataStream serializedCoin(SER_NETWORK, PROTOCOL_VERSION); - serializedCoin << publicCoin; - PublicCoinV3 publicCoinNew; - serializedCoin >> publicCoinNew; - EXPECT_TRUE(publicCoin == publicCoinNew); - - // mint test - PrivateCoinV3 newCoin(params); - PublicCoinV3 pubCoin = newCoin.getPublicCoin(); - EXPECT_TRUE(pubCoin.validate()); -} diff --git a/src/gtest/sigma_perform_test.cpp b/src/gtest/sigma_perform_test.cpp deleted file mode 100644 index 8d44a4d88b..0000000000 --- a/src/gtest/sigma_perform_test.cpp +++ /dev/null @@ -1,63 +0,0 @@ - -#include -#include -#include -#include - -void test( int N, int n, int index){ - int m = (int)(log(N) / log(n));; - secp_primitives::GroupElement g; - g.randomize(); - std::vector h_gens; - h_gens.resize(n * m); - for(int i = 0; i < n * m; ++i ){ - h_gens[i].randomize(); - } - secp_primitives::Scalar r; - r.randomize(); - sigma::SigmaPlusProver prover(g,h_gens, n, m); - - std::vector commits; - for(int i = 0; i < N; ++i){ - if(i == index){ - secp_primitives::GroupElement c; - secp_primitives::Scalar zero(uint64_t(0)); - c = sigma::SigmaPrimitives::commit(g, zero, h_gens[0], r); - commits.push_back(c); - - } - else{ - commits.push_back(secp_primitives::GroupElement()); - commits[i].randomize(); - } - } - - std::clock_t proof_start = std::clock(); - - sigma::SigmaPlusProof proof; - prover.proof(commits, index, r, proof); - std::cout <<"N = " << N << " n = " << n << "m = " < verifier(g, h_gens, n, m); - std::clock_t verify_start = std::clock(); - verifier.verify(commits, proof); - - duration_clock = ( std::clock() - verify_start ) / (CLOCKS_PER_SEC / 1000); - std::cout << " Verify time " << duration_clock << " ms \n"; -} - -int main(){ - test(16384, 4, 0); - test(32768, 8, 0); - test(65536, 4, 0); - test(65536, 16, 0); - test(262144, 8, 0); - test(262144, 64, 0); - return 0; -} \ No newline at end of file diff --git a/src/gtest/sigma_R1_test.cpp b/src/libzerocoin/sigma/test/R1_test.cpp similarity index 87% rename from src/gtest/sigma_R1_test.cpp rename to src/libzerocoin/sigma/test/R1_test.cpp index 7c61c304f7..2f63b9a4fc 100644 --- a/src/gtest/sigma_R1_test.cpp +++ b/src/libzerocoin/sigma/test/R1_test.cpp @@ -1,4 +1,5 @@ -#include +#include + #include #include #include @@ -17,8 +18,9 @@ bool test(secp_primitives::GroupElement& g, std::vector + +BOOST_AUTO_TEST_SUITE(sigma_coin_tests) + +BOOST_AUTO_TEST_CASE(pubcoin_serialization) +{ + secp_primitives::GroupElement coin; + coin.randomize(); + + sigma::PublicCoinV3 pubcoin(coin, sigma::ZQ_GOLDWASSER); + + CDataStream serialized(SER_NETWORK, PROTOCOL_VERSION); + serialized << pubcoin; + + sigma::PublicCoinV3 deserialized; + serialized >> deserialized; + + BOOST_CHECK(pubcoin == deserialized); +} + +BOOST_AUTO_TEST_CASE(pubcoin_validate) +{ + auto params = sigma::ParamsV3::get_default(); + + sigma::PrivateCoinV3 privcoin(params); + auto& pubcoin = privcoin.getPublicCoin(); + + BOOST_CHECK(pubcoin.validate()); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/gtest/sigma_plus_test.cpp b/src/libzerocoin/sigma/test/protocol_tests.cpp similarity index 79% rename from src/gtest/sigma_plus_test.cpp rename to src/libzerocoin/sigma/test/protocol_tests.cpp index 64e5e054c7..431eaf128c 100644 --- a/src/gtest/sigma_plus_test.cpp +++ b/src/libzerocoin/sigma/test/protocol_tests.cpp @@ -1,14 +1,17 @@ -#include -#include -#include +#include "../SigmaPlusProver.h" +#include "../SigmaPlusVerifier.h" -TEST(test_1_out_of_N, EC_group) +#include + +BOOST_AUTO_TEST_SUITE(sigma_protocol_tests) + +BOOST_AUTO_TEST_CASE(one_out_of_n) { int N = 16; int n = 4; int index = 0; - int m = (int)(log(N) / log(n));; + int m = (int)(log(N) / log(n)); secp_primitives::GroupElement g; g.randomize(); @@ -41,6 +44,8 @@ TEST(test_1_out_of_N, EC_group) prover.proof(commits, index, r, proof); sigma::SigmaPlusVerifier verifier(g, h_gens, n, m); - EXPECT_TRUE(verifier.verify(commits, proof)); -} \ No newline at end of file + BOOST_CHECK(verifier.verify(commits, proof)); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/gtest/sigma_serialize_test.cpp b/src/libzerocoin/sigma/test/serialize_test.cpp similarity index 69% rename from src/gtest/sigma_serialize_test.cpp rename to src/libzerocoin/sigma/test/serialize_test.cpp index 811313a027..1a6fe43f24 100644 --- a/src/gtest/sigma_serialize_test.cpp +++ b/src/libzerocoin/sigma/test/serialize_test.cpp @@ -1,8 +1,11 @@ -#include +#include + #include #include -TEST(sigma_serialize_tests, group_element_serialize) +BOOST_AUTO_TEST_SUITE(sigma_serialize_tests) + +BOOST_AUTO_TEST_CASE(group_element_serialize) { secp_primitives::GroupElement initial; initial.randomize(); @@ -10,20 +13,20 @@ TEST(sigma_serialize_tests, group_element_serialize) initial.serialize(buffer); secp_primitives::GroupElement resulted; resulted.deserialize(buffer); - EXPECT_TRUE(initial == resulted); + BOOST_CHECK(initial == resulted); } -TEST(sigma_serialize_tests, group_element_serialize_infinity) +BOOST_AUTO_TEST_CASE(group_element_serialize_infinity) { secp_primitives::GroupElement initial; unsigned char buffer [initial.memoryRequired()]; initial.serialize(buffer); secp_primitives::GroupElement resulted; resulted.deserialize(buffer); - EXPECT_TRUE(initial == resulted); + BOOST_CHECK(initial == resulted); } -TEST(sigma_serialize_tests, scalar_serialize) +BOOST_AUTO_TEST_CASE(scalar_serialize) { secp_primitives::Scalar initial; initial.randomize(); @@ -31,10 +34,10 @@ TEST(sigma_serialize_tests, scalar_serialize) initial.serialize(buffer); secp_primitives::Scalar resulted; resulted.deserialize(buffer); - EXPECT_TRUE(initial == resulted); + BOOST_CHECK(initial == resulted); } -TEST(sigma_serialize_tests, proof_serialize) +BOOST_AUTO_TEST_CASE(proof_serialize) { int N = 16; int n = 4; @@ -77,13 +80,15 @@ TEST(sigma_serialize_tests, proof_serialize) sigma::SigmaPlusProof resulted_proof; resulted_proof.deserialize(buffer, n, m); - EXPECT_TRUE(initial_proof.B_ == resulted_proof.B_); - EXPECT_TRUE(initial_proof.r1Proof_.A_ == resulted_proof.r1Proof_.A_); - EXPECT_TRUE(initial_proof.r1Proof_.C_ == resulted_proof.r1Proof_.C_); - EXPECT_TRUE(initial_proof.r1Proof_.D_ == resulted_proof.r1Proof_.D_); - EXPECT_TRUE(initial_proof.r1Proof_.f_ == resulted_proof.r1Proof_.f_); - EXPECT_TRUE(initial_proof.r1Proof_.ZA_ == resulted_proof.r1Proof_.ZA_); - EXPECT_TRUE(initial_proof.r1Proof_.ZC_ == resulted_proof.r1Proof_.ZC_); - EXPECT_TRUE(initial_proof.Gk_ == resulted_proof.Gk_); - EXPECT_TRUE(initial_proof.z_ == resulted_proof.z_); -} \ No newline at end of file + BOOST_CHECK(initial_proof.B_ == resulted_proof.B_); + BOOST_CHECK(initial_proof.r1Proof_.A_ == resulted_proof.r1Proof_.A_); + BOOST_CHECK(initial_proof.r1Proof_.C_ == resulted_proof.r1Proof_.C_); + BOOST_CHECK(initial_proof.r1Proof_.D_ == resulted_proof.r1Proof_.D_); + BOOST_CHECK(initial_proof.r1Proof_.f_ == resulted_proof.r1Proof_.f_); + BOOST_CHECK(initial_proof.r1Proof_.ZA_ == resulted_proof.r1Proof_.ZA_); + BOOST_CHECK(initial_proof.r1Proof_.ZC_ == resulted_proof.r1Proof_.ZC_); + BOOST_CHECK(initial_proof.Gk_ == resulted_proof.Gk_); + BOOST_CHECK(initial_proof.z_ == resulted_proof.z_); +} + +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/src/gtest/sigma_unit_tests.cpp b/src/libzerocoin/sigma/test/unit_tests.cpp similarity index 86% rename from src/gtest/sigma_unit_tests.cpp rename to src/libzerocoin/sigma/test/unit_tests.cpp index 2ea5063bd1..67efcf341d 100644 --- a/src/gtest/sigma_unit_tests.cpp +++ b/src/libzerocoin/sigma/test/unit_tests.cpp @@ -1,13 +1,16 @@ -#include +#include + +#include "test/test_bitcoin.h" + #include #include #include using namespace secp_primitives; using namespace sigma; namespace { -class sigma_unit_tests : public ::testing::Test { -protected: - sigma_unit_tests() = default; +struct sigma_unit_tests_fixture { + // struct sigma_unit_tests_fixture : public TestingSetup { + // sigma_unit_tests_fixture() = default; int N; int n; int m; @@ -26,7 +29,8 @@ class sigma_unit_tests : public ::testing::Test { secp_primitives::Scalar r; std::vector commits; - virtual void SetUp() { + sigma_unit_tests_fixture() { + // sigma_unit_tests_fixture() : TestingSetup(CBaseChainParams::REGTEST) { N = 16; n = 4; index = 13; @@ -85,11 +89,12 @@ class sigma_unit_tests : public ::testing::Test { f_= f; } - void TearDown() override { - } + ~sigma_unit_tests_fixture(){} }; -TEST_F(sigma_unit_tests, f_and_p_x) +BOOST_FIXTURE_TEST_SUITE(sigma_unit_tests,sigma_unit_tests_fixture) + +BOOST_AUTO_TEST_CASE(unit_f_and_p_x) { for(int i = 0; i < N; ++i){ std::vector I = SigmaPrimitives::convert_to_nal(i, n, m); @@ -101,11 +106,11 @@ TEST_F(sigma_unit_tests, f_and_p_x) } if(i==index) p_i_x += (P_i_k[i][m]*x.exponent(m)); - EXPECT_TRUE(f_i==p_i_x); + BOOST_CHECK(f_i==p_i_x); } } -TEST_F(sigma_unit_tests, commits) +BOOST_AUTO_TEST_CASE(unit_commits) { Scalar z; z = r * x.exponent(uint64_t(m)); @@ -124,10 +129,10 @@ TEST_F(sigma_unit_tests, commits) } commits_ += (commits[index] * x.exponent(m)); - EXPECT_TRUE(coommit == commits_); + BOOST_CHECK(coommit == commits_); } -TEST_F(sigma_unit_tests, G_k_prime) +BOOST_AUTO_TEST_CASE(unit_G_k_prime) { std::vector f_i_; for(int i = 0; i < N; ++i){ @@ -148,7 +153,9 @@ TEST_F(sigma_unit_tests, G_k_prime) Gk_prime += commits[i] * P_i_k[i][k]; G += (Gk_prime)* ((x.exponent(k)).negate()); } - EXPECT_TRUE((C + G) == (commits[index] * (x.exponent(m)))); + BOOST_CHECK((C + G) == (commits[index] * (x.exponent(m)))); } + +BOOST_AUTO_TEST_SUITE_END() } diff --git a/src/tor/src/test/fuzz_static_testcases.sh b/src/tor/src/test/fuzz_static_testcases.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test-network.sh b/src/tor/src/test/test-network.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_bt.sh b/src/tor/src/test/test_bt.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_hs_ntor.sh b/src/tor/src/test/test_hs_ntor.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_key_expiration.sh b/src/tor/src/test/test_key_expiration.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_keygen.sh b/src/tor/src/test/test_keygen.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_ntor.sh b/src/tor/src/test/test_ntor.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_rust.sh b/src/tor/src/test/test_rust.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_switch_id.sh b/src/tor/src/test/test_switch_id.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_cancel.sh b/src/tor/src/test/test_workqueue_cancel.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_efd.sh b/src/tor/src/test/test_workqueue_efd.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_efd2.sh b/src/tor/src/test/test_workqueue_efd2.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_pipe.sh b/src/tor/src/test/test_workqueue_pipe.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_pipe2.sh b/src/tor/src/test/test_workqueue_pipe2.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_workqueue_socketpair.sh b/src/tor/src/test/test_workqueue_socketpair.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/test_zero_length_keys.sh b/src/tor/src/test/test_zero_length_keys.sh old mode 100644 new mode 100755 diff --git a/src/tor/src/test/zero_length_keys.sh b/src/tor/src/test/zero_length_keys.sh old mode 100644 new mode 100755