aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2018-02-13 17:25:16 -0800
committerPieter Wuille <pieter.wuille@gmail.com>2018-02-13 17:34:42 -0800
commit252ae7111cbff09a4cbc5caee9e02b6ed3580476 (patch)
tree77a1125225219d72b551989318e1a3353a63f9d9
parentf4f4f51f1a940a239c9b406fe3b362bf3303cbce (diff)
parentb7f6002ed5d12b461eb56b768d06f2468cd0c12e (diff)
Merge #12424: Fix rescan test failure due to unset g_address_type, g_change_type
b7f6002ed5 Fix rescan test failure due to unset g_address_type, g_change_type (Russell Yanofsky) Pull request description: New global variables were introduced in #11403 and not setting them causes: ``` test_bitcoin: wallet/wallet.cpp:4259: CTxDestination GetDestinationForKey(const CPubKey&, OutputType): Assertion `false' failed. unknown location(0): fatal error in "importwallet_rescan": signal: SIGABRT (application abort requested) ``` It's possible to reproduce the failure reliably by running: ``` src/test/test_bitcoin --log_level=test_suite --run_test=wallet_tests/importwallet_rescan ``` Failures happen nondeterministically because boost test framework doesn't run tests in a specified order, and tests that run previously can set the global variables and mask the bug. This is similar to bug #12150. Example travis failure is https://travis-ci.org/bitcoin/bitcoin/jobs/340642010 Tree-SHA512: ab40662b3356892b726f1f552e22d58d86b5e982538741e52b37ee447a0c97c76c24ae543687edf2e25d9dd925722909d37abfae95d93bf09e23fa245a4c3351
-rw-r--r--src/wallet/test/wallet_tests.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp
index 161372784b..9db5d63922 100644
--- a/src/wallet/test/wallet_tests.cpp
+++ b/src/wallet/test/wallet_tests.cpp
@@ -451,6 +451,9 @@ BOOST_FIXTURE_TEST_CASE(rescan, TestChain100Setup)
// than or equal to key birthday.
BOOST_FIXTURE_TEST_CASE(importwallet_rescan, TestChain100Setup)
{
+ g_address_type = OUTPUT_TYPE_DEFAULT;
+ g_change_type = OUTPUT_TYPE_DEFAULT;
+
// Create two blocks with same timestamp to verify that importwallet rescan
// will pick up both blocks, not just the first.
const int64_t BLOCK_TIME = chainActive.Tip()->GetBlockTimeMax() + 5;