QA: add --noshutdown option to prevent stopping nodes

With `--noshutdown`, the nodes are not stopped explicitly. `--noshutdown` implies `--nocleanup`, to prevent removing datadirs, which are still in use.
This commit is contained in:
dexX7 2015-04-23 14:19:00 +02:00
parent 2eadeb27ed
commit 688da79e4a
No known key found for this signature in database
GPG Key ID: 7675E31CF5719832

View File

@ -89,8 +89,10 @@ class BitcoinTestFramework(object):
parser = optparse.OptionParser(usage="%prog [options]") parser = optparse.OptionParser(usage="%prog [options]")
parser.add_option("--nocleanup", dest="nocleanup", default=False, action="store_true", parser.add_option("--nocleanup", dest="nocleanup", default=False, action="store_true",
help="Leave bitcoinds and test.* datadir on exit or error") help="Leave bitcoinds and test.* datadir on exit or error")
parser.add_option("--noshutdown", dest="noshutdown", default=False, action="store_true",
help="Don't stop bitcoinds after the test execution")
parser.add_option("--srcdir", dest="srcdir", default="../../src", parser.add_option("--srcdir", dest="srcdir", default="../../src",
help="Source directory containing bitcoind/bitcoin-cli (default: %default%)") help="Source directory containing bitcoind/bitcoin-cli (default: %default)")
parser.add_option("--tmpdir", dest="tmpdir", default=tempfile.mkdtemp(prefix="test"), parser.add_option("--tmpdir", dest="tmpdir", default=tempfile.mkdtemp(prefix="test"),
help="Root directory for datadirs") help="Root directory for datadirs")
parser.add_option("--tracerpc", dest="trace_rpc", default=False, action="store_true", parser.add_option("--tracerpc", dest="trace_rpc", default=False, action="store_true",
@ -128,11 +130,14 @@ class BitcoinTestFramework(object):
print("Unexpected exception caught during testing: "+str(e)) print("Unexpected exception caught during testing: "+str(e))
traceback.print_tb(sys.exc_info()[2]) traceback.print_tb(sys.exc_info()[2])
print("Stopping nodes") if not self.options.noshutdown:
stop_nodes(self.nodes) print("Stopping nodes")
wait_bitcoinds() stop_nodes(self.nodes)
wait_bitcoinds()
else:
print("Note: bitcoinds were not stopped and may still be running")
if not self.options.nocleanup: if not self.options.nocleanup and not self.options.noshutdown:
print("Cleaning up") print("Cleaning up")
shutil.rmtree(self.options.tmpdir) shutil.rmtree(self.options.tmpdir)