|
|
@ -11,6 +11,7 @@ import http.client |
|
|
|
import logging |
|
|
|
import logging |
|
|
|
import optparse |
|
|
|
import optparse |
|
|
|
import os |
|
|
|
import os |
|
|
|
|
|
|
|
import pdb |
|
|
|
import shutil |
|
|
|
import shutil |
|
|
|
import subprocess |
|
|
|
import subprocess |
|
|
|
import sys |
|
|
|
import sys |
|
|
@ -125,6 +126,8 @@ class BitcoinTestFramework(object): |
|
|
|
help="Write tested RPC commands into this directory") |
|
|
|
help="Write tested RPC commands into this directory") |
|
|
|
parser.add_option("--configfile", dest="configfile", |
|
|
|
parser.add_option("--configfile", dest="configfile", |
|
|
|
help="Location of the test framework config file") |
|
|
|
help="Location of the test framework config file") |
|
|
|
|
|
|
|
parser.add_option("--pdbonfailure", dest="pdbonfailure", default=False, action="store_true", |
|
|
|
|
|
|
|
help="Attach a python debugger if test fails") |
|
|
|
self.add_options(parser) |
|
|
|
self.add_options(parser) |
|
|
|
(self.options, self.args) = parser.parse_args() |
|
|
|
(self.options, self.args) = parser.parse_args() |
|
|
|
|
|
|
|
|
|
|
@ -162,6 +165,10 @@ class BitcoinTestFramework(object): |
|
|
|
except KeyboardInterrupt as e: |
|
|
|
except KeyboardInterrupt as e: |
|
|
|
self.log.warning("Exiting after keyboard interrupt") |
|
|
|
self.log.warning("Exiting after keyboard interrupt") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if success == TestStatus.FAILED and self.options.pdbonfailure: |
|
|
|
|
|
|
|
print("Testcase failed. Attaching python debugger. Enter ? for help") |
|
|
|
|
|
|
|
pdb.set_trace() |
|
|
|
|
|
|
|
|
|
|
|
if not self.options.noshutdown: |
|
|
|
if not self.options.noshutdown: |
|
|
|
self.log.info("Stopping nodes") |
|
|
|
self.log.info("Stopping nodes") |
|
|
|
if self.nodes: |
|
|
|
if self.nodes: |
|
|
|