diff options
author | MarcoFalke <falke.marco@gmail.com> | 2018-01-11 08:37:25 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2018-01-11 08:37:29 -0500 |
commit | 92a810d04b906722c9efe60e3997243c71ff3d4c (patch) | |
tree | f90f002452f0e064d52a5e20b58821a5209ad873 | |
parent | 3c6286873e50248717afd7c56c664cee069c76fa (diff) | |
parent | f765bb37880443061eb5f0a9cd5897e33732182d (diff) |
Merge #12150: Fix ListCoins test failure due to unset g_address_type, g_change_type
f765bb3788 Fix ListCoins 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:4199: CTxDestination GetDestinationForKey(const CPubKey&, OutputType): Assertion `false' failed.
unknown location(0): fatal error in "ListCoins": 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/ListCoins
```
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.
Example travis failure: https://travis-ci.org/bitcoin/bitcoin/builds/327642495
Tree-SHA512: 3e0875716f66bc0304cf92a26457e6b54ecfe15ed962f4343577b05fc56bb577554422b7f53949ad6085ac5798ad7816b8176c5b01e050ddbfbb925d2732767a
-rw-r--r-- | src/wallet/test/wallet_tests.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp index e18ae4b3b7..7b3c283f37 100644 --- a/src/wallet/test/wallet_tests.cpp +++ b/src/wallet/test/wallet_tests.cpp @@ -602,6 +602,8 @@ public: { CreateAndProcessBlock({}, GetScriptForRawPubKey(coinbaseKey.GetPubKey())); ::bitdb.MakeMock(); + g_address_type = OUTPUT_TYPE_DEFAULT; + g_change_type = OUTPUT_TYPE_DEFAULT; wallet.reset(new CWallet(std::unique_ptr<CWalletDBWrapper>(new CWalletDBWrapper(&bitdb, "wallet_test.dat")))); bool firstRun; wallet->LoadWallet(firstRun); |