diff options
author | John Newbery <john@johnnewbery.com> | 2017-02-16 14:01:45 -0500 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2017-03-27 19:34:25 -0400 |
commit | 8c7288c06b3cb2ec6353b006ae9b2a75da6b7635 (patch) | |
tree | 88f2cef141d78b7c3c14bad937d14acfb4b7ae8e /test/functional | |
parent | 6d780b1b0c132875d16ab1d571beba69a674a161 (diff) |
Print out the final 1000 lines of test_framework.log if test fails
Diffstat (limited to 'test/functional')
-rwxr-xr-x | test/functional/test_framework/test_framework.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index 26a8aacb41..473b7c14a9 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -4,6 +4,7 @@ # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Base class for RPC testing.""" +from collections import deque import logging import optparse import os @@ -177,12 +178,17 @@ class BitcoinTestFramework(object): # Dump the end of the debug logs, to aid in debugging rare # travis failures. import glob - filenames = glob.glob(self.options.tmpdir + "/node*/regtest/debug.log") + filenames = [self.options.tmpdir + "/test_framework.log"] + filenames += glob.glob(self.options.tmpdir + "/node*/regtest/debug.log") MAX_LINES_TO_PRINT = 1000 - for f in filenames: - print("From" , f, ":") - from collections import deque - print("".join(deque(open(f), MAX_LINES_TO_PRINT))) + for fn in filenames: + try: + with open(fn, 'r') as f: + print("From" , fn, ":") + print("".join(deque(f, MAX_LINES_TO_PRINT))) + except OSError: + print("Opening file %s failed." % fn) + traceback.print_exc() if success: self.log.info("Tests successful") sys.exit(self.TEST_EXIT_PASSED) |