mirror of https://github.com/nucypher/nucypher.git
Some debugging breadcrumbs for Ursula.
parent
a341962155
commit
eaf7fbca37
|
@ -362,9 +362,9 @@ def blockchain_alice(alice_blockchain_test_config, testerchain):
|
|||
|
||||
@pytest.fixture(scope="module")
|
||||
def federated_bob(bob_federated_test_config):
|
||||
frames = inspect.stack(3)
|
||||
bob = bob_federated_test_config.produce()
|
||||
# Since Bob is sometimes "left hanging" at the end of tests, this is an invaluable piece of information for debugging problems like #2150.
|
||||
frames = inspect.stack(3)
|
||||
bob._FOR_TEST = frames[1].frame.f_locals['request'].module
|
||||
yield bob
|
||||
bob.disenchant()
|
||||
|
@ -402,13 +402,20 @@ def lonely_ursula_maker(ursula_federated_test_config):
|
|||
_made = []
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
ursula = self._partial(*args, **kwargs)
|
||||
self._made.extend(ursula)
|
||||
return ursula
|
||||
ursulas = self._partial(*args, **kwargs)
|
||||
self._made.extend(ursulas)
|
||||
frames = inspect.stack(3)
|
||||
for ursula in ursulas:
|
||||
try:
|
||||
ursula._FOR_TEST = frames[1].frame.f_code.co_name
|
||||
except KeyError as e:
|
||||
raise
|
||||
return ursulas
|
||||
|
||||
def clean(self):
|
||||
for ursula in self._made:
|
||||
ursula.stop()
|
||||
for ursula in self._made:
|
||||
del MOCK_KNOWN_URSULAS_CACHE[ursula.rest_interface.port]
|
||||
_maker = _PartialUrsulaMaker()
|
||||
yield _maker
|
||||
|
@ -980,6 +987,7 @@ def fleet_of_highperf_mocked_ursulas(ursula_federated_test_config, request):
|
|||
_ursulas = make_federated_ursulas(ursula_config=ursula_federated_test_config,
|
||||
quantity=quantity, know_each_other=False)
|
||||
all_ursulas = {u.checksum_address: u for u in _ursulas}
|
||||
|
||||
for ursula in _ursulas:
|
||||
ursula.known_nodes._nodes = all_ursulas
|
||||
ursula.known_nodes.checksum = b"This is a fleet state checksum..".hex()
|
||||
|
|
|
@ -42,7 +42,7 @@ def test_get_cert_from_running_seed_node(lonely_ursula_maker):
|
|||
|
||||
node_deployer.addServices()
|
||||
node_deployer.catalogServers(node_deployer.hendrix)
|
||||
node_deployer.start()
|
||||
node_deployer.start() # If this port happens not to be open, we'll get an error here. THis might be one of the few sane places to reintroduce a check.
|
||||
|
||||
certificate_as_deployed = node_deployer.cert.to_cryptography()
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ along with nucypher. If not, see <https://www.gnu.org/licenses/>.
|
|||
|
||||
|
||||
import contextlib
|
||||
import inspect
|
||||
|
||||
import socket
|
||||
import tempfile
|
||||
|
||||
|
@ -65,12 +67,14 @@ def make_federated_ursulas(ursula_config: UrsulaConfiguration,
|
|||
starting_port = max(MOCK_KNOWN_URSULAS_CACHE.keys()) + 1
|
||||
|
||||
federated_ursulas = set()
|
||||
frames = inspect.stack(3)
|
||||
|
||||
for port in range(starting_port, starting_port+quantity):
|
||||
|
||||
ursula = ursula_config.produce(rest_port=port + 100,
|
||||
db_filepath=MOCK_URSULA_DB_FILEPATH,
|
||||
**ursula_overrides)
|
||||
|
||||
ursula._FOR_TEST = frames[1].frame.f_locals['request'].module
|
||||
federated_ursulas.add(ursula)
|
||||
|
||||
# Store this Ursula in our global testing cache.
|
||||
|
|
Loading…
Reference in New Issue