Page MenuHomePhabricator

Merge #12150: Fix ListCoins test failure due to unset g_address_type, g_change_type
ClosedPublic

Authored by markblundeberg on Jul 2 2019, 23:56.

Details

Summary

PR12150 backport https://github.com/bitcoin/bitcoin/pull/12150/files
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
Test Plan

./src/test/test_bitcoin --log_level=test_suite --run_test=wallet_tests/ListCoins

Diff Detail

Repository
rABC Bitcoin ABC
Branch
patch
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 6645
Build 11337: Bitcoin ABC Buildbot (legacy)
Build 11336: arc lint + arc unit

Event Timeline

(Similar to D3533 but this actually does result in a test failure if run individually)

This revision is now accepted and ready to land.Jul 3 2019, 01:07