diff options
author | fanquake <fanquake@gmail.com> | 2019-07-19 08:55:31 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2019-07-19 09:06:49 +0800 |
commit | 89d7229c9c188703dc7e6aa5337a531e2277f547 (patch) | |
tree | 3dd8a3a4da4f8abf7b1d50ea50ae482586b29b10 /test | |
parent | e5abb59a9a66723dd1d9a01f65e467636eb24f2d (diff) | |
parent | 024ecd7e01d436ad7de608e571a20c7284b3951b (diff) | |
download | bitcoin-89d7229c9c188703dc7e6aa5337a531e2277f547.tar.xz |
Merge #16420: QA: Fix race condition in wallet_encryption test
024ecd7e01d436ad7de608e571a20c7284b3951b QA: Fix race condition in wallet_encryption test (Jonas Schnelli)
Pull request description:
There is some imprecision probably in the internal HTTPRPCTimer class (haven't exactly figured out where).
But we can't expect that waiting excatly 2 seconds right after calling `walletpassphrase(2)` will result in a locked wallet due to the nature how we internally handle threads/timers.
The wallet_encryption test fails regularely in CIs.
Here is a logged session:
```shell
[0;34m node0 2019-07-18T18:51:22.569739Z [] ThreadRPCServer method=walletpassphrase user=__cookie__ [0m
[0;34m node0 2019-07-18T18:51:22.628656Z [] queue run of timer lockwallet() in 2 seconds (using HTTP) [0m
[0;34m node0 2019-07-18T18:51:22.629002Z [] Received a POST request for / from 127.0.0.1:46898 [0m
[0;34m node0 2019-07-18T18:51:22.629081Z [] ThreadRPCServer method=dumpprivkey user=__cookie__ [0m
[0;34m node0 2019-07-18T18:51:24.445620Z [] Flushing wallet.dat [0m
[0;34m node0 2019-07-18T18:51:24.451421Z [] Flushed wallet.dat 6ms [0m
[0;34m node0 2019-07-18T18:51:24.631703Z [] Received a POST request for / from 127.0.0.1:46898 [0m
[0;34m node0 2019-07-18T18:51:24.631737Z [] ThreadRPCServer method=dumpprivkey user=__cookie__ [0m
[0;36m test 2019-07-18T18:51:24.632000Z TestFramework (ERROR): Assertion failed [0m
[0;36m Traceback (most recent call last):[0m
[0;36m File "/home/ubuntu/src/test/functional/test_framework/test_framework.py", line 193, in main[0m
[0;36m self.run_test()[0m
[0;36m File "/home/ubuntu/src/test/functional/wallet_encryption.py", line 53, in run_test[0m
[0;36m assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)[0m
```
ACKs for top commit:
promag:
ACK 024ecd7e01d436ad7de608e571a20c7284b3951b, simple fix, one second shouldn't hurt.
MarcoFalke:
ACK 024ecd7e01d436ad7de608e571a20c7284b3951b
fanquake:
ACK 024ecd7e01d436ad7de608e571a20c7284b3951b
Tree-SHA512: 0cda1b8969b084bb765d2b35e90a8611c565ee458a7be1f2dde675f8ddbd9b9e421514547a7683f836e2c996e0538eb66b8c5b935b5a81e9319fb2be27624374
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/wallet_encryption.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/functional/wallet_encryption.py b/test/functional/wallet_encryption.py index c514b7e0b4..fbcb4e75ba 100755 --- a/test/functional/wallet_encryption.py +++ b/test/functional/wallet_encryption.py @@ -49,7 +49,7 @@ class WalletEncryptionTest(BitcoinTestFramework): assert_equal(privkey, self.nodes[0].dumpprivkey(address)) # Check that the timeout is right - time.sleep(2) + time.sleep(3) assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address) # Test wrong passphrase |