mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-13 12:33:42 +02:00
Merge f34c580bd8 into merged_master (Bitcoin PR bitcoin/bitcoin#31620)
This commit is contained in:
commit
ebe7f45f36
2 changed files with 10 additions and 20 deletions
|
|
@ -171,8 +171,6 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
parser = argparse.ArgumentParser(usage="%(prog)s [options]")
|
||||
parser.add_argument("--nocleanup", dest="nocleanup", default=False, action="store_true",
|
||||
help="Leave bitcoinds and test.* datadir on exit or error")
|
||||
parser.add_argument("--noshutdown", dest="noshutdown", default=False, action="store_true",
|
||||
help="Don't stop bitcoinds after the test execution")
|
||||
parser.add_argument("--cachedir", dest="cachedir", default=os.path.abspath(os.path.dirname(test_file) + "/../cache"),
|
||||
help="Directory for caching pregenerated datadirs (default: %(default)s)")
|
||||
parser.add_argument("--tmpdir", dest="tmpdir", help="Root directory for datadirs (must not exist)")
|
||||
|
|
@ -326,18 +324,15 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
|
||||
self.log.debug('Closing down network thread')
|
||||
self.network_thread.close()
|
||||
if not self.options.noshutdown:
|
||||
if self.success == TestStatus.FAILED:
|
||||
self.log.info("Not stopping nodes as test failed. The dangling processes will be cleaned up later.")
|
||||
else:
|
||||
self.log.info("Stopping nodes")
|
||||
if self.nodes:
|
||||
self.stop_nodes()
|
||||
else:
|
||||
for node in self.nodes:
|
||||
node.cleanup_on_exit = False
|
||||
self.log.info("Note: bitcoinds were not stopped and may still be running")
|
||||
|
||||
should_clean_up = (
|
||||
not self.options.nocleanup and
|
||||
not self.options.noshutdown and
|
||||
self.success != TestStatus.FAILED and
|
||||
not self.options.perf
|
||||
)
|
||||
|
|
@ -589,15 +584,10 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
if extra_args is None:
|
||||
extra_args = [None] * self.num_nodes
|
||||
assert_equal(len(extra_args), self.num_nodes)
|
||||
try:
|
||||
for i, node in enumerate(self.nodes):
|
||||
node.start(extra_args[i], *args, **kwargs)
|
||||
for node in self.nodes:
|
||||
node.wait_for_rpc_connection()
|
||||
except Exception:
|
||||
# If one node failed to start, stop the others
|
||||
self.stop_nodes()
|
||||
raise
|
||||
for i, node in enumerate(self.nodes):
|
||||
node.start(extra_args[i], *args, **kwargs)
|
||||
for node in self.nodes:
|
||||
node.wait_for_rpc_connection()
|
||||
|
||||
if self.options.coveragedir is not None:
|
||||
for node in self.nodes:
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import time
|
|||
import urllib.parse
|
||||
import collections
|
||||
import shlex
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from .authproxy import (
|
||||
|
|
@ -158,7 +159,6 @@ class TestNode():
|
|||
self.rpc = None
|
||||
self.url = None
|
||||
self.log = logging.getLogger('TestFramework.node%d' % i)
|
||||
self.cleanup_on_exit = True # Whether to kill the node when this object goes away
|
||||
# Cache perf subprocesses here by their data output filename.
|
||||
self.perf_subprocesses = {}
|
||||
|
||||
|
|
@ -213,11 +213,11 @@ class TestNode():
|
|||
def __del__(self):
|
||||
# Ensure that we don't leave any bitcoind processes lying around after
|
||||
# the test ends
|
||||
if self.process and self.cleanup_on_exit:
|
||||
if self.process:
|
||||
# Should only happen on test failure
|
||||
# Avoid using logger, as that may have already been shutdown when
|
||||
# this destructor is called.
|
||||
print(self._node_msg("Cleaning up leftover process"))
|
||||
print(self._node_msg("Cleaning up leftover process"), file=sys.stderr)
|
||||
self.process.kill()
|
||||
|
||||
def __getattr__(self, name):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue