This removes usages of the global chainstate in the Proof class.
We now require Proof::verify callers to hold the lock for chainmanager operations.
Depends on D11703
Differential D11704
[avalanche] pass chainman to Proof::verify PiRK on Jul 4 2022, 16:01. Authored by
Details
This removes usages of the global chainstate in the Proof class. We now require Proof::verify callers to hold the lock for chainmanager operations. Depends on D11703 With debug and clang:
Diff Detail
Event TimelineComment Actions Is there a reason not to pass the chain manager here, instead of passing down various values extracted from it? Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-clang) failed.
Tail of the build log: 690cb3d74b5add1cfb7d4cf186426d41117586c57d59da330cc950e2d18d613c f713dec5d2f798360748914face171d5a45706b9c5f0bc4d561f6e80e098beef df84548b3a085e29d58ba5e83ad2fd1c9ecbe8595d4240f3f588e52af84cc65b 455f34eb8a00b0799630071c0728481bdb1653035b1484ac33e974aa4ae7db6d 96bd9fee759d81f9bc30e26015d979df3f6046c7a8764582d1a2c5c3d61c2f44 ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 925, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 925, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 925, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 925, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 925, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed *** 29 failures are detected in the test module "Avalanche Test Suite" [459/479] avalanche: testing compactproofs_tests [460/479] Running utility command for check-avalanche-compactproofs_tests [461/479] bitcoin-qt: testing test_bitcoin-qt [462/479] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [463/479] avalanche: testing processor_tests [464/479] Running utility command for check-avalanche-processor_tests [465/479] bitcoin: testing transaction_tests [466/479] Running utility command for check-bitcoin-transaction_tests [467/479] avalanche: testing peermanager_tests [468/479] Running utility command for check-avalanche-peermanager_tests [469/479] bitcoin: testing coinselector_tests [470/479] Running utility command for check-bitcoin-coinselector_tests [471/479] bitcoin: testing coins_tests [472/479] Running utility command for check-bitcoin-coins_tests [473/479] Running bitcoin test suite PASSED: bitcoin test suite [474/479] avalanche: testing voterecord_tests [475/479] Running utility command for check-avalanche-voterecord_tests [476/479] secp256k1: testing secp256k1-tests [477/479] Running secp256k1 test suite PASSED: secp256k1 test suite ninja: build stopped: cannot make progress due to previous errors. Build build-clang failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-clang-tidy) failed.
Tail of the build log: [415/472] bitcoin: testing merkleblock_tests [416/472] bitcoin: testing txvalidationcache_tests [417/472] bitcoin: testing bip32_tests [418/472] Running utility command for check-bitcoin-merkleblock_tests [419/472] bitcoin: testing scriptpubkeyman_tests [420/472] Running utility command for check-bitcoin-txvalidationcache_tests [421/472] bitcoin: testing timedata_tests [422/472] Running utility command for check-bitcoin-bip32_tests [423/472] Running utility command for check-bitcoin-scriptpubkeyman_tests [424/472] Running utility command for check-bitcoin-timedata_tests [425/472] bitcoin: testing validation_flush_tests [426/472] bitcoin: testing compilerbug_tests [427/472] Running utility command for check-bitcoin-validation_flush_tests [428/472] Running utility command for check-bitcoin-compilerbug_tests [429/472] bitcoin: testing script_standard_tests [430/472] Running utility command for check-bitcoin-script_standard_tests [431/472] bitcoin: testing blockcheck_tests [432/472] bitcoin: testing op_reversebytes_tests [433/472] bitcoin: testing blockstatus_tests [434/472] bitcoin: testing schnorr_tests [435/472] bitcoin: testing cuckoocache_tests [436/472] bitcoin: testing radix_tests [437/472] Running utility command for check-bitcoin-blockcheck_tests [438/472] Running utility command for check-bitcoin-blockstatus_tests [439/472] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o [440/472] Running utility command for check-bitcoin-op_reversebytes_tests [441/472] bitcoin: testing versionbits_tests [442/472] Running utility command for check-bitcoin-schnorr_tests [443/472] Running utility command for check-bitcoin-radix_tests [444/472] Running utility command for check-bitcoin-cuckoocache_tests [445/472] bitcoin: testing crypto_tests [446/472] Running utility command for check-bitcoin-versionbits_tests [447/472] Running utility command for check-avalanche-voterecord_tests [448/472] Running utility command for check-bitcoin-crypto_tests [449/472] bitcoin: testing intmath_tests [450/472] Running utility command for check-bitcoin-intmath_tests [451/472] bitcoin: testing shortidprocessor_tests [452/472] bitcoin: testing ismine_tests [453/472] bitcoin: testing cashaddr_tests [454/472] Running utility command for check-bitcoin-shortidprocessor_tests [455/472] Running utility command for check-bitcoin-ismine_tests [456/472] Running utility command for check-bitcoin-cashaddr_tests [457/472] Linking CXX executable src/qt/test/test_bitcoin-qt [458/472] bitcoin: testing validation_block_tests [459/472] Running utility command for check-bitcoin-validation_block_tests [460/472] bitcoin: testing checkqueue_tests [461/472] Running utility command for check-bitcoin-checkqueue_tests [462/472] bitcoin-qt: testing test_bitcoin-qt [463/472] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [464/472] bitcoin: testing transaction_tests [465/472] Running utility command for check-bitcoin-transaction_tests [466/472] bitcoin: testing coinselector_tests [467/472] Running utility command for check-bitcoin-coinselector_tests [468/472] bitcoin: testing coins_tests [469/472] Running utility command for check-bitcoin-coins_tests [470/472] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-clang-tidy failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Tail of the build log: [0m[1;30mwallet_keypool.py | ○ Skipped | 0 s [0m[1;30mwallet_keypool_topup.py | ○ Skipped | 0 s [0m[1;30mwallet_keypool_topup.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_labels.py | ○ Skipped | 0 s [0m[1;30mwallet_labels.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_listreceivedby.py | ○ Skipped | 0 s [0m[1;30mwallet_listsinceblock.py | ○ Skipped | 0 s [0m[1;30mwallet_listsinceblock.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_listtransactions.py | ○ Skipped | 0 s [0m[1;30mwallet_listtransactions.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_multiwallet.py | ○ Skipped | 0 s [0m[1;30mwallet_multiwallet.py --usecli | ○ Skipped | 0 s [0m[1;30mwallet_reorgsrestore.py | ○ Skipped | 0 s [0m[1;30mwallet_resendwallettransactions.py | ○ Skipped | 0 s [0m[1;30mwallet_send.py | ○ Skipped | 0 s [0m[1;30mwallet_startup.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_clone.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_clone.py --mineblock | ○ Skipped | 0 s [0m[1;30mwallet_txn_doublespend.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_doublespend.py --mineblock | ○ Skipped | 0 s [0m[1;30mwallet_watchonly.py | ○ Skipped | 0 s [0m[1;30mwallet_watchonly.py --usecli | ○ Skipped | 0 s [0m[1m ALL | ✓ Passed | 752 s (accumulated) [0mRuntime: 151 s ---------------------------------------------------------------------- Ran 10 tests in 0.231s OK [178/440] Test Bitcoin RPC authentication... ... ---------------------------------------------------------------------- Ran 3 tests in 0.016s OK [179/440] cd /work/contrib/devtools/chainparams && /usr/bin/python3.7 ./test_make_chainparams.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.001s OK [193/440] Running seeder test suite PASSED: seeder test suite [201/440] Running pow test suite PASSED: pow test suite [205/440] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [206/440] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o In file included from /usr/include/boost/test/unit_test.hpp:19, from ../../src/test/script_tests.cpp:30: ../../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’: ../../src/test/script_tests.cpp:540:22: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without BOOST_AUTO_TEST_CASE(script_build) { ^~~~~~~~~~~~ [437/440] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-without-wallet failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Tail of the build log: 8a2fcc5700a89f37a3726cdf3202353bf61f280815a9df744e3c9de6215a745a c61ee0416eb9549ea0e09dfd2c6062a11aa5d3ab0adcdf59abcc02dd0de401fc 29deedc94713bbc4d4f88fe96fae6801b91c5ae50601f158fa76a036e18ea468 c24dc13d98d0e0a80c19346b9590368557a66f0f65c0088c179d89eca25107c8 bfc250ca1986177acc779f26eaff80aa8916d23cb3e7e0ce6d3589c4f5ea364c 046e75fa2d7f0868dcfa683bbdf657fc6a49b8f8b0d5c2dfdf90736ded26b076 e66b0ab11de5e2f358d2e1f65b1ebe608e4a1f10a9f5d42f1173b262e1a218a6 ce2812a1decdef0267e0266c68ab53c5ecad292f7b7d0fbd3db9285a08ccd2a1 37a08e004f35d6410b24a5724b8351b41d4e3ac04f285cd76d73a023b2ae5519 1312eff53594f63e61f044c36b2cf2d3e7e44c706f17bfabcf49954741380bbc de837b44ae2df5408f89dc42039ae53a61ea508a15e214e69a50d940b72e7713 2c90b8359740d675952b570cca76ffb7c1a225984b8c7f47bc27607c58a613b5 289c082f835c2edd24b95e1aee7dbb353dff30cdcaab02d5dc2ac44c57181468 8d97d3ed1884462122976da4706778593fc4b5eaafb859bec0b45f590219f5ba 690cb3d74b5add1cfb7d4cf186426d41117586c57d59da330cc950e2d18d613c f713dec5d2f798360748914face171d5a45706b9c5f0bc4d561f6e80e098beef df84548b3a085e29d58ba5e83ad2fd1c9ecbe8595d4240f3f588e52af84cc65b 455f34eb8a00b0799630071c0728481bdb1653035b1484ac33e974aa4ae7db6d 96bd9fee759d81f9bc30e26015d979df3f6046c7a8764582d1a2c5c3d61c2f44 ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 926, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 926, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 926, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 926, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(926): error: in "proof_tests/verify": check p->verify(state, *([&]() -> decltype(get_pure_r_value(m_node.chainman)) { auto &&check = (m_node.chainman); (static_cast <bool> ("m_node.chainman" &&check) ? void (0) : __assert_fail ("\"m_node.chainman\" &&check", "../../src/avalanche/test/proof_tests.cpp", 926, __extension__ __PRETTY_FUNCTION__)); return std::forward<decltype(get_pure_r_value(m_node.chainman))>(check); }())) == (result == ProofValidationResult::NONE) has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed ../../src/avalanche/test/proof_tests.cpp(927): error: in "proof_tests/verify": check state.GetResult() == result has failed *** 29 failures are detected in the test module "Avalanche Test Suite" [413/480] Running secp256k1 test suite PASSED: secp256k1 test suite [463/480] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [468/480] Running pow test suite PASSED: pow test suite [477/480] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-debug failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-diff) failed.
Tail of the build log: [0m[0;32mwallet_abandonconflict.py | ✓ Passed | 17 s [0m[0;32mwallet_address_types.py | ✓ Passed | 11 s [0m[0;32mwallet_address_types.py --descriptors | ✓ Passed | 8 s [0m[0;32mwallet_avoidreuse.py | ✓ Passed | 4 s [0m[0;32mwallet_avoidreuse.py --descriptors | ✓ Passed | 4 s [0m[0;32mwallet_backup.py | ✓ Passed | 24 s [0m[0;32mwallet_balance.py | ✓ Passed | 14 s [0m[0;32mwallet_balance.py --descriptors | ✓ Passed | 14 s [0m[0;32mwallet_basic.py | ✓ Passed | 21 s [0m[0;32mwallet_coinbase_category.py | ✓ Passed | 1 s [0m[0;32mwallet_create_tx.py | ✓ Passed | 5 s [0m[0;32mwallet_createwallet.py | ✓ Passed | 2 s [0m[0;32mwallet_createwallet.py --descriptors | ✓ Passed | 2 s [0m[0;32mwallet_createwallet.py --usecli | ✓ Passed | 3 s [0m[0;32mwallet_descriptor.py | ✓ Passed | 6 s [0m[0;32mwallet_disable.py | ✓ Passed | 0 s [0m[0;32mwallet_dump.py | ✓ Passed | 4 s [0m[0;32mwallet_encryption.py | ✓ Passed | 5 s [0m[0;32mwallet_encryption.py --descriptors | ✓ Passed | 5 s [0m[0;32mwallet_hd.py | ✓ Passed | 6 s [0m[0;32mwallet_hd.py --descriptors | ✓ Passed | 5 s [0m[0;32mwallet_import_rescan.py | ✓ Passed | 5 s [0m[0;32mwallet_import_with_label.py | ✓ Passed | 1 s [0m[0;32mwallet_importdescriptors.py | ✓ Passed | 5 s [0m[0;32mwallet_importmulti.py | ✓ Passed | 3 s [0m[0;32mwallet_importprunedfunds.py | ✓ Passed | 2 s [0m[0;32mwallet_importprunedfunds.py --descriptors | ✓ Passed | 2 s [0m[0;32mwallet_keypool.py | ✓ Passed | 3 s [0m[0;32mwallet_keypool_topup.py | ✓ Passed | 2 s [0m[0;32mwallet_keypool_topup.py --descriptors | ✓ Passed | 3 s [0m[0;32mwallet_labels.py | ✓ Passed | 1 s [0m[0;32mwallet_labels.py --descriptors | ✓ Passed | 1 s [0m[0;32mwallet_listreceivedby.py | ✓ Passed | 25 s [0m[0;32mwallet_listsinceblock.py | ✓ Passed | 4 s [0m[0;32mwallet_listsinceblock.py --descriptors | ✓ Passed | 6 s [0m[0;32mwallet_listtransactions.py | ✓ Passed | 4 s [0m[0;32mwallet_listtransactions.py --descriptors | ✓ Passed | 3 s [0m[0;32mwallet_multiwallet.py | ✓ Passed | 41 s [0m[0;32mwallet_multiwallet.py --usecli | ✓ Passed | 11 s [0m[0;32mwallet_reorgsrestore.py | ✓ Passed | 3 s [0m[0;32mwallet_resendwallettransactions.py | ✓ Passed | 12 s [0m[0;32mwallet_send.py | ✓ Passed | 7 s [0m[0;32mwallet_startup.py | ✓ Passed | 2 s [0m[0;32mwallet_txn_clone.py | ✓ Passed | 2 s [0m[0;32mwallet_txn_clone.py --mineblock | ✓ Passed | 3 s [0m[0;32mwallet_txn_doublespend.py | ✓ Passed | 1 s [0m[0;32mwallet_txn_doublespend.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_watchonly.py | ✓ Passed | 1 s [0m[0;32mwallet_watchonly.py --usecli | ✓ Passed | 1 s [0m[1m ALL | ✓ Passed | 1278 s (accumulated) [0mRuntime: 256 s ---------------------------------------------------------------------- Ran 10 tests in 0.093s OK ninja: build stopped: cannot make progress due to previous errors. Build build-diff failed with exit code 1 Comment Actions fix tests. The coins must be added to the actual coinsTip, not to a new CCoinsViewCache based on the tip. Also adding coins requires cs_main to be held. Remove also an unused CCoinsViewCache in the deterministic_proofid suite.
|