gtests ordering: clean up wallet files before each WalletZkeysTest
This allows us to use --gtest_repeat= on the WalletZkeysTest group, otherwise, each test will reuse its previous iteration's wallet file, causing assertions to be invalidated. We put the RemoveDb at the beginning of each test because putting it at the end of the test means it doesn't get run if the test fails. This would lead to a single failed test causing every instance of that test thereafter to fail (since it uses the same temporary directory). The dummyWallet.LoadWallet() ensures that CDB is initialized, otherwise bitdb.RemoveDb causes the error: "BDB1565 DB_ENV->dbremove: method not permitted before handle's open method"
This commit is contained in:
parent
902187368e
commit
2e52c1623d
|
@ -1,6 +1,7 @@
|
|||
#include <gtest/gtest.h>
|
||||
|
||||
#include "fs.h"
|
||||
#include "db.h"
|
||||
#include "zcash/Address.hpp"
|
||||
#include "wallet/wallet.h"
|
||||
#include "wallet/walletdb.h"
|
||||
|
@ -227,7 +228,10 @@ TEST(WalletZkeysTest, WriteZkeyDirectToDb) {
|
|||
fs::create_directories(pathTemp);
|
||||
mapArgs["-datadir"] = pathTemp.string();
|
||||
|
||||
bool fFirstRun;
|
||||
bool fFirstRun, fFirstRunDummy;
|
||||
CWallet dummyWallet(Params(), "wallet_direct_zkey_test.dat");
|
||||
dummyWallet.LoadWallet(fFirstRunDummy);
|
||||
bitdb.RemoveDb("wallet_direct_zkey_test.dat");
|
||||
CWallet wallet(Params(), "wallet_direct_zkey_test.dat");
|
||||
LOCK(wallet.cs_wallet);
|
||||
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
|
||||
|
@ -300,7 +304,10 @@ TEST(WalletZkeysTest, WriteViewingKeyDirectToDB) {
|
|||
fs::create_directories(pathTemp);
|
||||
mapArgs["-datadir"] = pathTemp.string();
|
||||
|
||||
bool fFirstRun;
|
||||
bool fFirstRun, fFirstRunDummy;
|
||||
CWallet dummyWallet(Params(), "wallet-vkey.dat");
|
||||
dummyWallet.LoadWallet(fFirstRunDummy);
|
||||
bitdb.RemoveDb("wallet-vkey.dat");
|
||||
CWallet wallet(Params(), "wallet-vkey.dat");
|
||||
LOCK(wallet.cs_wallet);
|
||||
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
|
||||
|
@ -347,7 +354,10 @@ TEST(WalletZkeysTest, WriteCryptedzkeyDirectToDb) {
|
|||
fs::create_directories(pathTemp);
|
||||
mapArgs["-datadir"] = pathTemp.string();
|
||||
|
||||
bool fFirstRun;
|
||||
bool fFirstRun, fFirstRunDummy;
|
||||
CWallet dummyWallet(Params(), "wallet_crypted.dat");
|
||||
dummyWallet.LoadWallet(fFirstRunDummy);
|
||||
bitdb.RemoveDb("wallet_crypted.dat");
|
||||
CWallet wallet(Params(), "wallet_crypted.dat");
|
||||
LOCK(wallet.cs_wallet);
|
||||
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
|
||||
|
@ -422,7 +432,10 @@ TEST(WalletZkeysTest, WriteCryptedSaplingZkeyDirectToDb) {
|
|||
fs::create_directories(pathTemp);
|
||||
mapArgs["-datadir"] = pathTemp.string();
|
||||
|
||||
bool fFirstRun;
|
||||
bool fFirstRun, fFirstRunDummy;
|
||||
CWallet dummyWallet(Params(), "wallet_crypted_sapling.dat");
|
||||
dummyWallet.LoadWallet(fFirstRunDummy);
|
||||
bitdb.RemoveDb("wallet_crypted_sapling.dat");
|
||||
CWallet wallet(Params(), "wallet_crypted_sapling.dat");
|
||||
LOCK(wallet.cs_wallet);
|
||||
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
|
||||
|
|
Loading…
Reference in New Issue