From 32bf097f900c1508f817adf229e8bdaf12af6c81 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 10 Oct 2016 20:23:24 -0700 Subject: [PATCH] Fixes #1478 by ensuring wallet tests have the -datadir environment set appropriately. --- src/gtest/test_foundersreward.cpp | 10 ++++++---- src/gtest/test_wallet_zkeys.cpp | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/gtest/test_foundersreward.cpp b/src/gtest/test_foundersreward.cpp index 4c65b11a8..b7515f55d 100644 --- a/src/gtest/test_foundersreward.cpp +++ b/src/gtest/test_foundersreward.cpp @@ -12,6 +12,7 @@ #include #include #include +#include "util.h" // To run tests: // ./zcash-gtest --gtest_filter="founders_reward_test.*" @@ -25,13 +26,14 @@ TEST(founders_reward_test, create_testnet_2of3multisig) { ECC_Start(); SelectParams(CBaseChainParams::TESTNET); - boost::filesystem::path temp = boost::filesystem::temp_directory_path() / boost::filesystem::unique_path(); - const std::string path = temp.native() + "-wallet.dat"; + boost::filesystem::path pathTemp = boost::filesystem::temp_directory_path() / boost::filesystem::unique_path(); + boost::filesystem::create_directories(pathTemp); + mapArgs["-datadir"] = pathTemp.string(); bool fFirstRun; - auto pWallet = std::make_shared(path); + auto pWallet = std::make_shared("wallet.dat"); ASSERT_EQ(DB_LOAD_OK, pWallet->LoadWallet(fFirstRun)); pWallet->TopUpKeyPool(); - std::cout << "Test wallet file path: " << path << std::endl; + std::cout << "Test wallet and logs saved in folder: " << pathTemp.native() << std::endl; int numKeys = 48; std::vector pubkeys; diff --git a/src/gtest/test_wallet_zkeys.cpp b/src/gtest/test_wallet_zkeys.cpp index 31a930de0..c7912ae7a 100644 --- a/src/gtest/test_wallet_zkeys.cpp +++ b/src/gtest/test_wallet_zkeys.cpp @@ -75,12 +75,12 @@ TEST(wallet_zkeys_tests, write_zkey_direct_to_db) { // Get temporary and unique path for file. // Note: / operator to append paths - boost::filesystem::path temp = boost::filesystem::temp_directory_path() / - boost::filesystem::unique_path(); - const std::string path = temp.native(); + boost::filesystem::path pathTemp = boost::filesystem::temp_directory_path() / boost::filesystem::unique_path(); + boost::filesystem::create_directories(pathTemp); + mapArgs["-datadir"] = pathTemp.string(); bool fFirstRun; - CWallet wallet(path); + CWallet wallet("wallet.dat"); ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun)); // No default CPubKey set @@ -103,7 +103,7 @@ TEST(wallet_zkeys_tests, write_zkey_direct_to_db) { auto addr = sk.address(); int64_t now = GetTime(); CKeyMetadata meta(now); - CWalletDB db(path); + CWalletDB db("wallet.dat"); db.WriteZKey(addr, sk, meta); // wallet should not be aware of key @@ -150,12 +150,12 @@ TEST(wallet_zkeys_tests, write_cryptedzkey_direct_to_db) { // Get temporary and unique path for file. // Note: / operator to append paths - boost::filesystem::path temp = boost::filesystem::temp_directory_path() / - boost::filesystem::unique_path(); - const std::string path = temp.native(); + boost::filesystem::path pathTemp = boost::filesystem::temp_directory_path() / boost::filesystem::unique_path(); + boost::filesystem::create_directories(pathTemp); + mapArgs["-datadir"] = pathTemp.string(); bool fFirstRun; - CWallet wallet(path); + CWallet wallet("wallet_crypted.dat"); ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun)); // No default CPubKey set @@ -187,7 +187,7 @@ TEST(wallet_zkeys_tests, write_cryptedzkey_direct_to_db) { auto paymentAddress2 = wallet.GenerateNewZKey(); // Create a new wallet from the existing wallet path - CWallet wallet2(path); + CWallet wallet2("wallet_crypted.dat"); ASSERT_EQ(DB_LOAD_OK, wallet2.LoadWallet(fFirstRun)); // Confirm it's not the same as the other wallet