-
Notifications
You must be signed in to change notification settings - Fork 277
Open
Labels
Bug 🐛Broken functionalityBroken functionality
Description
Describe the Bug
test_learner_learns_about_domains_separately intermittently fails on CI
To Reproduce
I'm not sure how to reproduce this locally
Traceback or Screenshots (Optional)
A full traceback can be found in this action: https://github.com/nucypher/nucypher/actions/runs/6547972633/job/17781578171?pr=3288
Run python -m pytest tests/integration
INFO: Compiling 'test_conditions.json'.
WARNING: Unable to parse ContractType from 'test_conditions.json'.
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-6.2.5, py-1.11.0, pluggy-1.3.0
rootdir: /home/runner/work/nucypher/nucypher, configfile: pytest.ini
plugins: nucypher-7.0.0rc1, twisted-1.14.0, web3-6.9.0, time-machine-2.12.0, hypothesis-6.83.0, cov-4.1.0, eth-ape-0.6.19, timeout-2.1.0, mock-3.11.1
collected 255 items
tests/integration/actors/test_operator.py .. [ 0%]
tests/integration/blockchain/test_currency.py . [ 1%]
tests/integration/blockchain/test_integration_block_confirmations.py s [ 1%]
tests/integration/blockchain/test_integration_dkg_ritual.py ...... [ 3%]
tests/integration/blockchain/test_integration_ritual_tracker.py ..... [ 5%]
tests/integration/blockchain/test_keystore_signer_filesystem_integration.py . [ 6%]
....... [ 9%]
tests/integration/characters/test_alice_decrypt.py . [ 9%]
tests/integration/characters/test_bob_handles_frags.py ..... [ 11%]
tests/integration/characters/test_bob_joins_policy_and_retrieves.py ...s [ 12%]
[ 12%]
tests/integration/characters/test_conditional_reencryption.py .......... [ 16%]
. [ 17%]
tests/integration/characters/test_dkg_and_testnet_bypass.py .. [ 18%]
tests/integration/characters/test_freerider_attacks.py s [ 18%]
tests/integration/characters/test_grant_and_revoke.py ..s [ 19%]
tests/integration/characters/test_ursula_startup.py ... [ 20%]
tests/integration/cli/test_cli_config.py .. [ 21%]
tests/integration/cli/test_mixed_config.py .. [ 22%]
tests/integration/cli/test_ursula_cli_ip_detection.py .. [ 23%]
tests/integration/cli/test_ursula_config_cli.py ...... [ 25%]
tests/integration/cli/test_ursula_local_keystore_cli_functionality.py . [ 25%]
tests/integration/cli/actions/test_auth_actions.py .......... [ 29%]
tests/integration/cli/actions/test_config_actions.py ................... [ 37%]
............ [ 41%]
tests/integration/cli/actions/test_select_client_account.py ............ [ 46%]
..................................................sssssss [ 69%]
tests/integration/cli/actions/test_select_config_file.py ... [ 70%]
tests/integration/cli/actions/test_select_network.py .. [ 70%]
tests/integration/config/test_base_configuration.py ..... [ 72%]
tests/integration/config/test_character_configuration.py .......s [ 76%]
tests/integration/config/test_configuration_migrations.py . [ 76%]
tests/integration/config/test_configuration_persistence.py . [ 76%]
tests/integration/config/test_keystore_integration.py ..s. [ 78%]
tests/integration/config/test_storages.py ... [ 79%]
tests/integration/learning/test_discovery_phases.py .s [ 80%]
tests/integration/learning/test_domains.py F
=================================== FAILURES ===================================
_________________ test_learner_learns_about_domains_separately _________________
lonely_ursula_maker = <tests.fixtures.lonely_ursula_maker.<locals>._PartialUrsulaMaker object at 0x7ff9c2f38670>
domain_1 = 'domain_uno', domain_2 = 'domain_dos'
registry_1 = ContractRegistry(id=9327a4)
registry_2 = ContractRegistry(id=9327a4)
caplog = <_pytest.logging.LogCaptureFixture object at 0x7ff9c2f38640>
def test_learner_learns_about_domains_separately(
lonely_ursula_maker, domain_1, domain_2, registry_1, registry_2, caplog
):
hero_learner, other_first_domain_learner = lonely_ursula_maker(
domain=domain_1,
registry=registry_1,
quantity=2,
)
_nobody = lonely_ursula_maker(
domain=domain_1, registry=registry_1, quantity=1
).pop()
other_first_domain_learner.remember_node(_nobody, eager=True)
second_domain_learners = lonely_ursula_maker(
domain=domain_2, registry=registry_2, know_each_other=True, quantity=3
)
assert len(hero_learner.known_nodes) == 0
# Learn from a teacher in our domain.
hero_learner.remember_node(other_first_domain_learner, eager=True)
hero_learner.start_learning_loop(now=True)
hero_learner.learn_from_teacher_node(eager=True)
# All domain 1 nodes
> assert len(hero_learner.known_nodes) == 2
E AssertionError: assert 1 == 2
E + where 1 = len(FleetSensor(FleetState(FleetStateChecksum:56894ab3bf034505..., {'0xaBbaCadaBA000000000000000000000000000006': (Ursula)...)}, <weakref at 0x7ff9c2f39ae0; to 'Ursula' at 0x7ff9c2f38e50>, <nucypher_core.NodeMetadata object at 0x561b937d1190>)))
E + where FleetSensor(FleetState(FleetStateChecksum:56894ab3bf034505..., {'0xaBbaCadaBA000000000000000000000000000006': (Ursula)...)}, <weakref at 0x7ff9c2f39ae0; to 'Ursula' at 0x7ff9c2f38e50>, <nucypher_core.NodeMetadata object at 0x561b937d1190>)) = (Ursula)⇀LemonChiffon Zulu FireBrick Foxtrot↽ (0xaBBACADABA000000000000000000000000000005).known_nodes
tests/integration/learning/test_domains.py:70: AssertionErrorReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Bug 🐛Broken functionalityBroken functionality