diff options
author | John Newbery <john@johnnewbery.com> | 2017-03-24 12:35:28 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2017-03-28 16:22:19 -0400 |
commit | a4fd89fddba49c56e77f131fe95feffa8d7cf6ed (patch) | |
tree | c92e4e001a97410c58fa495940d67be9603ab623 | |
parent | 1f3d78b4e099f22b03ffeec9e91c02de81430702 (diff) | |
download | bitcoin-a4fd89fddba49c56e77f131fe95feffa8d7cf6ed.tar.xz |
Make forknotify.py more robust
forknotify would intermittently fail because the alert file was not
being written fast enough. This commit adds a timeout so the test does
not fail immediately.
-rwxr-xr-x | test/functional/forknotify.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/test/functional/forknotify.py b/test/functional/forknotify.py index c2724ba5df..7a365438cc 100755 --- a/test/functional/forknotify.py +++ b/test/functional/forknotify.py @@ -3,6 +3,8 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test the -alertnotify option.""" +import os +import time from test_framework.test_framework import BitcoinTestFramework from test_framework.util import * @@ -41,12 +43,19 @@ class ForkNotifyTest(BitcoinTestFramework): self.nodes[1].generate(1) self.sync_all() + # Give bitcoind 10 seconds to write the alert notification + timeout = 10.0 + while timeout > 0: + if os.path.exists(self.alert_filename) and os.path.getsize(self.alert_filename): + break + time.sleep(0.1) + timeout -= 0.1 + else: + assert False, "-alertnotify did not warn of up-version blocks" + with open(self.alert_filename, 'r', encoding='utf8') as f: alert_text = f.read() - if len(alert_text) == 0: - raise AssertionError("-alertnotify did not warn of up-version blocks") - # Mine more up-version blocks, should not get more alerts: self.nodes[1].generate(1) self.sync_all() |