diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2018-02-13 17:25:16 -0800 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2018-02-13 17:34:42 -0800 |
commit | 252ae7111cbff09a4cbc5caee9e02b6ed3580476 (patch) | |
tree | 77a1125225219d72b551989318e1a3353a63f9d9 | |
parent | f4f4f51f1a940a239c9b406fe3b362bf3303cbce (diff) | |
parent | b7f6002ed5d12b461eb56b768d06f2468cd0c12e (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.cpp | 3 |
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; |