Auto merge of #4281 - LarryRuane:test-fixes-enable-debug, r=daira

fix tests for enable-debug build

Addresses part of #4275.
This commit is contained in:
Homu 2020-01-06 03:29:34 +00:00
commit efab5aaca4
5 changed files with 55 additions and 11 deletions

View File

@ -118,6 +118,7 @@ TEST(Mempool, OverwinterNotActiveYet) {
CValidationState state1;
CTransaction tx1(mtx);
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "tx-overwinter-not-active");
@ -142,6 +143,7 @@ TEST(Mempool, SproutV3TxFailsAsExpected) {
CValidationState state1;
CTransaction tx1(mtx);
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "version");
}
@ -163,6 +165,7 @@ TEST(Mempool, SproutV3TxWhenOverwinterActive) {
CValidationState state1;
CTransaction tx1(mtx);
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "tx-overwinter-flag-not-set");
@ -198,6 +201,7 @@ TEST(Mempool, SproutNegativeVersionTxWhenOverwinterActive) {
EXPECT_EQ(tx1.nVersion, -3);
CValidationState state1;
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "bad-txns-version-too-low");
}
@ -214,6 +218,7 @@ TEST(Mempool, SproutNegativeVersionTxWhenOverwinterActive) {
EXPECT_EQ(tx1.nVersion, -2147483645);
CValidationState state1;
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "bad-txns-version-too-low");
}
@ -246,6 +251,7 @@ TEST(Mempool, ExpiringSoonTxRejection) {
CValidationState state1;
CTransaction tx1(mtx);
LOCK(cs_main);
EXPECT_FALSE(AcceptToMemoryPool(pool, state1, tx1, false, &missingInputs));
EXPECT_EQ(state1.GetRejectReason(), "tx-expiring-soon");
}

View File

@ -185,6 +185,7 @@ TEST(WalletTests, FindUnspentSproutNotes) {
auto consensusParams = RegtestActivateSapling();
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -378,6 +379,7 @@ TEST(WalletTests, SetSaplingNoteAddrsInCWalletTx) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = GetTestMasterSaplingSpendingKey();
auto expsk = sk.expsk;
@ -459,6 +461,7 @@ TEST(WalletTests, SetInvalidSaplingNoteDataInCWalletTx) {
TEST(WalletTests, CheckSproutNoteCommitmentAgainstNotePlaintext) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
auto address = sk.address();
@ -480,6 +483,7 @@ TEST(WalletTests, CheckSproutNoteCommitmentAgainstNotePlaintext) {
TEST(WalletTests, GetSproutNoteNullifier) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
auto address = sk.address();
@ -513,6 +517,7 @@ TEST(WalletTests, FindMySaplingNotes) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate dummy Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -546,6 +551,7 @@ TEST(WalletTests, FindMySaplingNotes) {
TEST(WalletTests, FindMySproutNotes) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
auto sk2 = libzcash::SproutSpendingKey::random();
@ -571,6 +577,7 @@ TEST(WalletTests, FindMySproutNotes) {
TEST(WalletTests, FindMySproutNotesInEncryptedWallet) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
uint256 r {GetRandHash()};
CKeyingMaterial vMasterKey (r.begin(), r.end());
@ -601,6 +608,7 @@ TEST(WalletTests, FindMySproutNotesInEncryptedWallet) {
TEST(WalletTests, GetConflictedSproutNotes) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -635,6 +643,7 @@ TEST(WalletTests, GetConflictedSaplingNotes) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -750,6 +759,7 @@ TEST(WalletTests, GetConflictedSaplingNotes) {
TEST(WalletTests, SproutNullifierIsSpent) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -792,6 +802,7 @@ TEST(WalletTests, SaplingNullifierIsSpent) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate dummy Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -847,6 +858,7 @@ TEST(WalletTests, SaplingNullifierIsSpent) {
TEST(WalletTests, NavigateFromSproutNullifierToNote) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -875,6 +887,7 @@ TEST(WalletTests, NavigateFromSaplingNullifierToNote) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate dummy Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -965,6 +978,7 @@ TEST(WalletTests, NavigateFromSaplingNullifierToNote) {
TEST(WalletTests, SpentSproutNoteIsFromMe) {
CWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -996,6 +1010,7 @@ TEST(WalletTests, SpentSaplingNoteIsFromMe) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -1193,6 +1208,7 @@ TEST(WalletTests, CachedWitnessesEmptyChain) {
TEST(WalletTests, CachedWitnessesChainTip) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
std::pair<uint256, uint256> anchors1;
CBlock block1;
SproutMerkleTree sproutTree;
@ -1295,6 +1311,7 @@ TEST(WalletTests, CachedWitnessesChainTip) {
TEST(WalletTests, CachedWitnessesDecrementFirst) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
SproutMerkleTree sproutTree;
SaplingMerkleTree saplingTree;
@ -1375,6 +1392,7 @@ TEST(WalletTests, CachedWitnessesDecrementFirst) {
TEST(WalletTests, CachedWitnessesCleanIndex) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
std::vector<CBlock> blocks;
std::vector<CBlockIndex> indices;
std::vector<JSOutPoint> sproutNotes;
@ -1462,6 +1480,7 @@ TEST(WalletTests, CachedWitnessesCleanIndex) {
TEST(WalletTests, ClearNoteWitnessCache) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -1520,6 +1539,7 @@ TEST(WalletTests, ClearNoteWitnessCache) {
TEST(WalletTests, WriteWitnessCache) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
MockWalletDB walletdb;
CBlockLocator loc;
@ -1607,6 +1627,7 @@ TEST(WalletTests, SetBestChainIgnoresTxsWithoutShieldedData) {
SelectParams(CBaseChainParams::REGTEST);
TestWallet wallet;
LOCK(wallet.cs_wallet);
MockWalletDB walletdb;
CBlockLocator loc;
@ -1686,6 +1707,7 @@ TEST(WalletTests, SetBestChainIgnoresTxsWithoutShieldedData) {
TEST(WalletTests, UpdateSproutNullifierNoteMap) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
uint256 r {GetRandHash()};
CKeyingMaterial vMasterKey (r.begin(), r.end());
@ -1721,6 +1743,7 @@ TEST(WalletTests, UpdateSproutNullifierNoteMap) {
TEST(WalletTests, UpdatedSproutNoteData) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -1770,6 +1793,7 @@ TEST(WalletTests, UpdatedSaplingNoteData) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto m = GetTestMasterSaplingSpendingKey();
@ -1878,6 +1902,7 @@ TEST(WalletTests, UpdatedSaplingNoteData) {
TEST(WalletTests, MarkAffectedSproutTransactionsDirty) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -1911,6 +1936,7 @@ TEST(WalletTests, MarkAffectedSaplingTransactionsDirty) {
auto consensusParams = RegtestActivateSapling();
TestWallet wallet;
LOCK(wallet.cs_wallet);
// Generate Sapling address
auto sk = GetTestMasterSaplingSpendingKey();
@ -2020,6 +2046,7 @@ TEST(WalletTests, MarkAffectedSaplingTransactionsDirty) {
TEST(WalletTests, SproutNoteLocking) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
auto sk = libzcash::SproutSpendingKey::random();
wallet.AddSproutSpendingKey(sk);
@ -2053,6 +2080,7 @@ TEST(WalletTests, SproutNoteLocking) {
TEST(WalletTests, SaplingNoteLocking) {
TestWallet wallet;
LOCK(wallet.cs_wallet);
SaplingOutPoint sop1 {uint256(), 1};
SaplingOutPoint sop2 {uint256(), 2};

View File

@ -20,6 +20,7 @@ TEST(wallet_zkeys_tests, StoreAndLoadSaplingZkeys) {
SelectParams(CBaseChainParams::MAIN);
CWallet wallet;
LOCK(wallet.cs_wallet);
// wallet should be empty
std::set<libzcash::SaplingPaymentAddress> addrs;
@ -114,6 +115,7 @@ TEST(wallet_zkeys_tests, store_and_load_zkeys) {
SelectParams(CBaseChainParams::MAIN);
CWallet wallet;
LOCK(wallet.cs_wallet);
// wallet should be empty
std::set<libzcash::SproutPaymentAddress> addrs;
@ -171,6 +173,7 @@ TEST(wallet_zkeys_tests, StoreAndLoadViewingKeys) {
SelectParams(CBaseChainParams::MAIN);
CWallet wallet;
LOCK(wallet.cs_wallet);
// wallet should be empty
std::set<libzcash::SproutPaymentAddress> addrs;
@ -223,6 +226,7 @@ TEST(wallet_zkeys_tests, write_zkey_direct_to_db) {
bool fFirstRun;
CWallet wallet("wallet.dat");
LOCK(wallet.cs_wallet);
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
// No default CPubKey set
@ -295,6 +299,7 @@ TEST(wallet_zkeys_tests, WriteViewingKeyDirectToDB) {
bool fFirstRun;
CWallet wallet("wallet-vkey.dat");
LOCK(wallet.cs_wallet);
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
// No default CPubKey set
@ -340,6 +345,7 @@ TEST(wallet_zkeys_tests, write_cryptedzkey_direct_to_db) {
bool fFirstRun;
CWallet wallet("wallet_crypted.dat");
LOCK(wallet.cs_wallet);
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
// No default CPubKey set
@ -414,6 +420,7 @@ TEST(wallet_zkeys_tests, WriteCryptedSaplingZkeyDirectToDb) {
bool fFirstRun;
CWallet wallet("wallet_crypted_sapling.dat");
LOCK(wallet.cs_wallet);
ASSERT_EQ(DB_LOAD_OK, wallet.LoadWallet(fFirstRun));
// No default CPubKey set

View File

@ -59,7 +59,7 @@ BOOST_FIXTURE_TEST_SUITE(rpc_wallet_tests, WalletTestingSetup)
BOOST_AUTO_TEST_CASE(rpc_addmultisig)
{
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
rpcfn_type addmultisig = tableRPC["addmultisigaddress"]->actor;
@ -335,7 +335,7 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_getbalance)
{
SelectParams(CBaseChainParams::TESTNET);
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
BOOST_CHECK_THROW(CallRPC("z_getbalance too many args"), runtime_error);
@ -935,7 +935,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_sendmany_parameters)
{
SelectParams(CBaseChainParams::TESTNET);
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
BOOST_CHECK_THROW(CallRPC("z_sendmany"), runtime_error);
BOOST_CHECK_THROW(CallRPC("z_sendmany toofewargs"), runtime_error);
@ -1060,7 +1060,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_sendmany_internals)
SelectParams(CBaseChainParams::TESTNET);
auto consensusParams = Params().GetConsensus();
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
UniValue retValue;
@ -1267,7 +1267,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_sendmany_taddr_to_sapling)
{
RegtestActivateSapling();
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
if (!pwalletMain->HaveHDSeed()) {
pwalletMain->GenerateNewSeed();
@ -1487,7 +1487,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_listunspent_parameters)
{
SelectParams(CBaseChainParams::TESTNET);
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
UniValue retValue;
@ -1536,7 +1536,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_shieldcoinbase_parameters)
{
SelectParams(CBaseChainParams::TESTNET);
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
BOOST_CHECK_THROW(CallRPC("z_shieldcoinbase"), runtime_error);
BOOST_CHECK_THROW(CallRPC("z_shieldcoinbase toofewargs"), runtime_error);
@ -1616,7 +1616,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_shieldcoinbase_internals)
SelectParams(CBaseChainParams::TESTNET);
auto consensusParams = Params().GetConsensus();
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
// Mutable tx containing contextual information we need to build tx
// We removed the ability to create pre-Sapling Sprout proofs, so we can
@ -1671,7 +1671,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_mergetoaddress_parameters)
{
SelectParams(CBaseChainParams::TESTNET);
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
BOOST_CHECK_THROW(CallRPC("z_mergetoaddress"), runtime_error);
BOOST_CHECK_THROW(CallRPC("z_mergetoaddress toofewargs"), runtime_error);
@ -1819,7 +1819,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_mergetoaddress_internals)
SelectParams(CBaseChainParams::TESTNET);
auto consensusParams = Params().GetConsensus();
LOCK(pwalletMain->cs_wallet);
LOCK2(cs_main, pwalletMain->cs_wallet);
UniValue retValue;

View File

@ -595,7 +595,8 @@ void CWallet::RunSaplingMigration(int blockHeight) {
if (!Params().GetConsensus().NetworkUpgradeActive(blockHeight, Consensus::UPGRADE_SAPLING)) {
return;
}
LOCK(cs_wallet);
// need cs_wallet to call CommitTransaction()
LOCK2(cs_main, cs_wallet);
if (!fSaplingMigrationEnabled) {
return;
}
@ -954,6 +955,7 @@ bool CWallet::IsSpent(const uint256& hash, unsigned int n) const
* spends it:
*/
bool CWallet::IsSproutSpent(const uint256& nullifier) const {
LOCK(cs_main);
pair<TxNullifiers::const_iterator, TxNullifiers::const_iterator> range;
range = mapTxSproutNullifiers.equal_range(nullifier);
@ -968,6 +970,7 @@ bool CWallet::IsSproutSpent(const uint256& nullifier) const {
}
bool CWallet::IsSaplingSpent(const uint256& nullifier) const {
LOCK(cs_main);
pair<TxNullifiers::const_iterator, TxNullifiers::const_iterator> range;
range = mapTxSaplingNullifiers.equal_range(nullifier);