-
Notifications
You must be signed in to change notification settings - Fork 30
test(db-sync config): Add db-sync test for governance option #3130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
da219df to
f57f939
Compare
6ad8724 to
f39ba32
Compare
|
This test is failing for current release of (.venv) artur@workstation:~/Projects/cnt/cardano-node-tests$ pytest -s -k test_dbsync_config cardano_node_tests/tests/
WARNING: Using `cardano-cli` from custom path!
WARNING: Using `cardano-node` from custom path!
=============================================================================================================== test session starts ===============================================================================================================
platform linux -- Python 3.11.13, pytest-8.4.1, pluggy-1.5.0 -- /home/artur/Projects/cnt/cardano-node-tests/dev_workdir/.venv/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.11.13', 'Platform': 'Linux-5.15.0-153-generic-x86_64-with-glibc2.40', 'Packages': {'pytest': '8.4.1', 'pluggy': '1.5.0'}, 'Plugins': {'html': '4.1.1', 'xdist': '3.7.0', 'metadata': '3.1.1', 'select': '0.1.2', 'order': '1.3.0', 'subtests': '0.14.2', 'allure-pytest': '2.14.3', 'hypothesis': '6.135.17'}, 'cardano-node': '10.3.1', 'cardano-node rev': 'b3f237b75e64f4d8142af95b053e2828221d707f', 'cardano-node ghc': 'ghc-9.6', 'cardano-cli': '10.7.0.0', 'cardano-cli rev': 'b3f237b75e64f4d8142af95b053e2828221d707f', 'cardano-cli ghc': 'ghc-9.6', 'CLUSTER_ERA': 'conway', 'COMMAND_ERA': 'conway', 'TESTNET_VARIANT': 'conway_fast', 'ENABLE_LEGACY': 'False', 'MIXED_P2P': 'False', 'NUM_POOLS': '3', 'UTXO_BACKEND': '', 'MAX_TESTS_PER_CLUSTER': 8, 'CLUSTERS_COUNT': 1, 'HAS_CC': 'True', 'cardano-node-tests rev': '1a27e315376ea841628ff489306d387c43b4649f', 'cardano-node-tests url': 'https://github.com/IntersectMBO/cardano-node-tests/tree/1a27e315376ea841628ff489306d387c43b4649f', 'CARDANO_NODE_SOCKET_PATH': '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/state-cluster0/bft1.socket', 'cardano-cli exe': '/home/artur/.local/bin/cardano-cli', 'cardano-node exe': '/home/artur/.local/bin/cardano-node', 'cardano-submit-api exe': '/home/artur/.local/bin/cardano-submit-api', 'network magic': 42, 'HAS_DBSYNC': 'True', 'db-sync': '13.6.0.5', 'db-sync rev': '0000000000000000000000000000000000000000', 'db-sync ghc': 'ghc-8.10', 'db-sync exe': '/home/artur/.local/bin/cardano-db-sync', 'HAS_SMASH': 'False'}
hypothesis profile 'default'
rootdir: /home/artur/Projects/cnt/cardano-node-tests
configfile: pyproject.toml
plugins: html-4.1.1, xdist-3.7.0, metadata-3.1.1, select-0.1.2, order-1.3.0, subtests-0.14.2, allure-pytest-2.14.3, hypothesis-6.135.17
collecting ...
--------------------------------------------------------------------------------------------------------------- live log collection ---------------------------------------------------------------------------------------------------------------
WARNING cardano_node_tests.utils.blockers:blockers.py:80 No GitHub token provided, cannot check if issue 'IntersectMBO/cardano-cli#1199' is blocked
collected 1735 items / 1734 deselected / 1 selected
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config
----------------------------------------------------------------------------------------------------------------- live log setup ------------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.tests.conftest:conftest.py:237 Changed CWD to '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/tmp/pytest-of-artur/pytest-14'.
------------------------------------------------------------------------------------------------------------------ live log call ------------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 53.87%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 99.24%
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
^C(scenario='governance') SUBFAIL
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config PASSED
---------------------------------------------------------------------------------------------------------------- live log teardown ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 54.08%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config ERROR
===================================================================================================================== ERRORS ======================================================================================================================
____________________________________________________________________________________________ ERROR at teardown of TestDBSyncConfig.test_dbsync_config _____________________________________________________________________________________________
errors = '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/state-cluster0/dbsync.stdout: \x1b[31m[db-sync-node:Error:81]\x1b[0m [2025-09-08 18:46:47.82 UTC] Error SNErrDefault: "resolveGovActionProposal.queryGovActionProposalId missing GovAction (TxKey {unTxKey = SqlBackendKey {unSqlBackendKey = 28}}, 0)"'
def _raise_logs_error(errors: str) -> None:
"""Report errors found in cluster log files by raising `LogsError` with errors details."""
if not errors:
return
msg = f"Errors found in cluster log files:\n{errors}"
> raise LogsError(msg) from None
E cardano_node_tests.tests.conftest.LogsError: Errors found in cluster log files:
E /home/artur/Projects/cnt/cardano-node-tests/dev_workdir/state-cluster0/dbsync.stdout: [db-sync-node:Error:81] [2025-09-08 18:46:47.82 UTC] Error SNErrDefault: "resolveGovActionProposal.queryGovActionProposalId missing GovAction (TxKey {unTxKey = SqlBackendKey {unSqlBackendKey = 28}}, 0)"
/home/artur/Projects/cnt/cardano-node-tests/cardano_node_tests/tests/conftest.py:393: LogsError
--------------------------------------------------------------------------------------------------------------- Captured log setup ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.tests.conftest:conftest.py:237 Changed CWD to '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/tmp/pytest-of-artur/pytest-14'.
---------------------------------------------------------------------------------------------------------------- Captured log call ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 53.87%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 99.24%
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
-------------------------------------------------------------------------------------------------------------- Captured log teardown --------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 54.08%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
==================================================================================================================== FAILURES =====================================================================================================================
___________________________________________________________________________________________ TestDBSyncConfig.test_dbsync_config (scenario='governance') ___________________________________________________________________________________________
self = <cardano_node_tests.tests.test_dbsync_config.TestDBSyncConfig object at 0x7ffa1da14550>, cluster_singleton = <ClusterLib: command_era=conway>
db_sync_manager = <cardano_node_tests.utils.dbsync_service_manager.DBSyncManager object at 0x7ffa1d754b50>
subtests = SubTests(ihook=<_pytest.config.compat.PathAwareHookProxy object at 0x7ffa1d70e9d0>, suspend_capture_ctx=<bound method CaptureManager.global_and_fixture_disabled of <CaptureManager _method='no' _global_capturing=<MultiCapture out=None err=None in_=None _state='started' _in_suspended=False> _capture_fixture=None>>, request=<SubRequest 'subtests' for <Function test_dbsync_config>>)
@allure.link(helpers.get_vcs_link())
def test_dbsync_config(
self,
cluster_singleton: clusterlib.ClusterLib,
db_sync_manager: db_sync.DBSyncManager,
subtests: pytest_subtests.SubTests,
):
"""Run db-sync config subtests."""
cluster = cluster_singleton
common.get_test_id(cluster)
for subt in self.get_subtests():
with subtests.test(scenario=subt.__name__):
> subt(db_sync_manager)
/home/artur/Projects/cnt/cardano-node-tests/cardano_node_tests/tests/test_dbsync_config.py:366:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/artur/Projects/cnt/cardano-node-tests/cardano_node_tests/tests/test_dbsync_config.py:251: in governance
db_sync_manager.restart_with_config(
/home/artur/Projects/cnt/cardano-node-tests/cardano_node_tests/utils/dbsync_service_manager.py:468: in restart_with_config
dbsync_utils.wait_for_db_sync_completion()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
expected_progress = 99.0, timeout = 360, polling_interval = 5
def wait_for_db_sync_completion(
expected_progress: float = 99.0, timeout: int = 360, polling_interval: int = 5
) -> float:
"""Wait for db-sync to reach at least 99% sync completion.
Args:
expected_progress: Expected completion as perctentage, 99% by default
timeout: Maximum time to wait in seconds
polling_interval: Loop polling time in seconds
Returns:
Final sync percentage achieved (>= 99)
Raises:
TimeoutError: If sync doesn't reach 99% within timeout
"""
start_time = time.time()
def _query_func() -> float:
dbsync_progress = dbsync_queries.query_db_sync_progress()
if not dbsync_progress:
msg = "no result for query_db_sync_progress"
raise DbSyncNoResponseError(msg)
return dbsync_progress
dbsync_progress: float = retry_query(query_func=_query_func, timeout=timeout)
# Poll until sync completes
while dbsync_progress < expected_progress:
if time.time() - start_time > timeout:
err_msg = f"db-sync only reached {dbsync_progress}% after {timeout} seconds"
raise TimeoutError(err_msg)
> time.sleep(polling_interval)
E KeyboardInterrupt
/home/artur/Projects/cnt/cardano-node-tests/cardano_node_tests/utils/dbsync_utils.py:1586: KeyboardInterrupt
--------------------------------------------------------------------------------------------------------------- Captured log setup ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.tests.conftest:conftest.py:237 Changed CWD to '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/tmp/pytest-of-artur/pytest-14'.
---------------------------------------------------------------------------------------------------------------- Captured log call ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 53.87%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 99.24%
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 29.91%
============================================================================================================= short test summary info =============================================================================================================
ERROR cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config - cardano_node_tests.tests.conftest.LogsError: Errors found in cluster log files:
/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/state-cluster0/dbsync.stdout: [db-sync-node:Error:81] [2025-09-08 18:46:47.82 UTC] Error SNErrDefault: "resolveGovActionProposal.queryGovActionProposalId missing GovAction (TxKey {unTxKey = SqlBackendKey {unSqlBackendKey = 28}}, 0)"
(scenario='governance') SUBFAIL cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config - KeyboardInterrupt
======================================================================================== 1 failed, 1 passed, 1734 deselected, 1 error in 443.81s (0:07:23) ========================================================================================FixWith compiled version containing this fix IntersectMBO/cardano-db-sync#2000 it is passing: (.venv) artur@workstation:~/Projects/cnt/cardano-node-tests$ pytest -s -k test_dbsync_config cardano_node_tests/tests/
WARNING: Using `cardano-cli` from custom path!
WARNING: Using `cardano-node` from custom path!
=============================================================================================================== test session starts ===============================================================================================================
platform linux -- Python 3.11.13, pytest-8.4.1, pluggy-1.5.0 -- /home/artur/Projects/cnt/cardano-node-tests/dev_workdir/.venv/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.11.13', 'Platform': 'Linux-5.15.0-153-generic-x86_64-with-glibc2.40', 'Packages': {'pytest': '8.4.1', 'pluggy': '1.5.0'}, 'Plugins': {'html': '4.1.1', 'xdist': '3.7.0', 'metadata': '3.1.1', 'select': '0.1.2', 'order': '1.3.0', 'subtests': '0.14.2', 'allure-pytest': '2.14.3', 'hypothesis': '6.135.17'}, 'cardano-node': '10.3.1', 'cardano-node rev': 'b3f237b75e64f4d8142af95b053e2828221d707f', 'cardano-node ghc': 'ghc-9.6', 'cardano-cli': '10.7.0.0', 'cardano-cli rev': 'b3f237b75e64f4d8142af95b053e2828221d707f', 'cardano-cli ghc': 'ghc-9.6', 'CLUSTER_ERA': 'conway', 'COMMAND_ERA': 'conway', 'TESTNET_VARIANT': 'conway_fast', 'ENABLE_LEGACY': 'False', 'MIXED_P2P': 'False', 'NUM_POOLS': '3', 'UTXO_BACKEND': '', 'MAX_TESTS_PER_CLUSTER': 8, 'CLUSTERS_COUNT': 1, 'HAS_CC': 'True', 'cardano-node-tests rev': 'da219df12055498dd7d0b0d3c93bfa902bf39729', 'cardano-node-tests url': 'https://github.com/IntersectMBO/cardano-node-tests/tree/da219df12055498dd7d0b0d3c93bfa902bf39729', 'CARDANO_NODE_SOCKET_PATH': '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/state-cluster0/bft1.socket', 'cardano-cli exe': '/home/artur/.local/bin/cardano-cli', 'cardano-node exe': '/home/artur/.local/bin/cardano-node', 'cardano-submit-api exe': '', 'network magic': 42, 'HAS_DBSYNC': 'True', 'db-sync': '13.6.0.5', 'db-sync rev': '0000000000000000000000000000000000000000', 'db-sync ghc': 'ghc-8.10', 'db-sync exe': '/home/artur/.local/bin/cardano-db-sync', 'HAS_SMASH': 'False'}
hypothesis profile 'default'
rootdir: /home/artur/Projects/cnt/cardano-node-tests
configfile: pyproject.toml
plugins: html-4.1.1, xdist-3.7.0, metadata-3.1.1, select-0.1.2, order-1.3.0, subtests-0.14.2, allure-pytest-2.14.3, hypothesis-6.135.17
collecting ...
--------------------------------------------------------------------------------------------------------------- live log collection ---------------------------------------------------------------------------------------------------------------
WARNING cardano_node_tests.utils.blockers:blockers.py:80 No GitHub token provided, cannot check if issue 'IntersectMBO/cardano-cli#1199' is blocked
collected 1735 items / 1734 deselected / 1 selected
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config
----------------------------------------------------------------------------------------------------------------- live log setup ------------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.tests.conftest:conftest.py:237 Changed CWD to '/home/artur/Projects/cnt/cardano-node-tests/dev_workdir/tmp/pytest-of-artur/pytest-33'.
------------------------------------------------------------------------------------------------------------------ live log call ------------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 91.79%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 96.30%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
(scenario='basic_tx_out') SUBPASS--------------------------------------------------------------------------------------------------------------- live log logreport ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 11s before repeating query for the 3 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 18s before repeating query for the 4 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 27s before repeating query for the 5 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 38s before repeating query for the 6 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 51s before repeating query for the 7 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 66s before repeating query for the 8 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 83s before repeating query for the 9 time.
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 98.25%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config (scenario='governance') SUBPASS--------------------------------------------------------------------------------------------------------------- live log logreport ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 92.28%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config (scenario='tx_cbor_value_enable') SUBPASS--------------------------------------------------------------------------------------------------------------- live log logreport ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 92.72%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config (scenario='tx_cbor_value_disable') SUBPASS--------------------------------------------------------------------------------------------------------------- live log logreport ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 92.57%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config (scenario='multi_asset_enable') SUBPASS--------------------------------------------------------------------------------------------------------------- live log logreport ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 95.55%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config (scenario='multi_asset_disable') SUBPASS
cardano_node_tests/tests/test_dbsync_config.py::TestDBSyncConfig::test_dbsync_config PASSED
---------------------------------------------------------------------------------------------------------------- live log teardown ----------------------------------------------------------------------------------------------------------------
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'stop' action on services ['dbsync'].
INFO cardano_node_tests.utils.cluster_nodes:cluster_nodes.py:420 Performing 'start' action on services ['dbsync'].
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 3s before repeating query for the 1 time.
WARNING cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:508 Sleeping 6s before repeating query for the 2 time.
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 85.73%
INFO cardano_node_tests.utils.dbsync_utils:dbsync_utils.py:1588 Progress of db-sync: 100.00%
INFO cardano_node_tests.utils.dbsync_conn:dbsync_conn.py:34 Closing connection to db-sync database dbsync0.
======================================================================================== 1 passed, 1734 deselected, 6 subtests passed in 522.53s (0:08:42) ======================================================================================== |
ebc6130 to
0a33623
Compare
|
This works locally - running:
Using Adding marker The only thing I noticed during artifacts analysis is that there are 3 instances in following directories - which suggests there are 3 artur@workstation:~/Downloads/artifacts_20250917201806/pytest-0-gurjiovn$ ll cluster0/startup_files/
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 22:07:18 2025 ./ --
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 22:17:50 2025 ../ --
drwxr-xr-x artur artur 4.0 KB Thu Sep 18 00:38:37 2025 emvtiawi/ --
drwxr-xr-x artur artur 4.0 KB Thu Sep 18 00:38:55 2025 rbflimen/ --
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 21:15:53 2025 xliwjxmc/ --
artur@workstation:~/Downloads/artifacts_20250917201806/pytest-0-gurjiovn$ ll -R cluster0/startup_files/ | grep dbsync
.rw-r--r-- artur artur 3.1 KB Wed Sep 17 22:07:18 2025 dbsync-config.yaml --
.rwxr-xr-x artur artur 783 B Wed Sep 17 22:07:18 2025 run-cardano-dbsync* --
.rw-r--r-- artur artur 3.1 KB Wed Sep 17 19:18:49 2025 dbsync-config.yaml --
.rwxr-xr-x artur artur 783 B Wed Sep 17 19:18:49 2025 run-cardano-dbsync* --
.rw-r--r-- artur artur 3.1 KB Wed Sep 17 21:15:53 2025 dbsync-config.yaml --
.rwxr-xr-x artur artur 783 B Wed Sep 17 21:15:53 2025 run-cardano-dbsync* --
artur@workstation:~/Downloads/artifacts_20250917201806/pytest-0-gurjiovn$ ll cluster_artifacts/
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 22:17:48 2025 ./ --
drwx------ artur artur 4.0 KB Wed Sep 17 22:17:48 2025 ../ --
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 22:17:48 2025 state-cluster0_ihmhakhq/ --
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 22:08:31 2025 state-cluster0_jiztieow/ --
drwxr-xr-x artur artur 4.0 KB Wed Sep 17 21:17:06 2025 state-cluster0_mpcuxegl/ --
artur@workstation:~/Downloads/artifacts_20250917201806/pytest-0-gurjiovn$ ll -R cluster_artifacts/ | grep dbsync
.rw-r--r-- artur artur 0 B Wed Sep 17 22:17:48 2025 dbsync.stderr --
.rw-r--r-- artur artur 221 KB Wed Sep 17 22:17:48 2025 dbsync.stdout --
.rw-r--r-- artur artur 0 B Wed Sep 17 22:08:31 2025 dbsync.stderr --
.rw-r--r-- artur artur 344 KB Wed Sep 17 22:08:31 2025 dbsync.stdout --
.rw-r--r-- artur artur 0 B Wed Sep 17 21:17:06 2025 dbsync.stderr --
.rw-r--r-- artur artur 808 KB Wed Sep 17 21:17:06 2025 dbsync.stdout -- |
0a33623 to
70f66ef
Compare
|
I decided to temporarily experiment with it and replace |
70f66ef to
e7d0dea
Compare
4e5a62b to
d6ba417
Compare
c24db5b to
42f13b2
Compare
0ae4af4 to
4b2ec55
Compare
|
Linking another issue found during testing (PR with fix ready and tested): IntersectMBO/cardano-db-sync#2007 |
6f2bc56 to
032e987
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new governance configuration test for DB-Sync and makes related improvements to test organization and error handling. The main purpose is to test that DB-Sync's governance configuration option properly enables and disables governance-related database tables.
Key changes:
- Added new
governancetest scenario to validate DB-Sync governance configuration behavior - Simplified database recreation logic to use common scripts directory instead of testnet-variant specific directory
- Added
dbsync_configmarker to relevant Conway governance tests to ensure proper test organization
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| cardano_node_tests/tests/test_dbsync_config.py | Added GOVERNANCE_TABLES constant and new governance configuration test scenario; updated type hint syntax |
| cardano_node_tests/utils/dbsync_service_manager.py | Simplified database recreation to use common scripts directory instead of testnet-variant specific directory |
| cardano_node_tests/utils/logfiles.py | Added lowercase variant of DB-Sync table name to error ignore list |
| cardano_node_tests/tests/tests_conway/test_info.py | Converted pytestmark from single value to list to add dbsync_config marker |
| cardano_node_tests/tests/tests_conway/test_treasury_withdrawals.py | Added dbsync_config marker to test method |
| cardano_node_tests/tests/tests_conway/test_drep.py | Added dbsync_config marker to test method |
| cardano_node_tests/tests/tests_conway/test_committee.py | Added dbsync_config marker to test method |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| expected_state={t: TableCondition.NOT_EMPTY for t in GOVERNANCE_TABLES} # noqa: C420 | ||
| ) | ||
|
|
||
| db_sync_manager.restart_with_config( | ||
| custom_config=db_config.with_governance(value=db_sync.SettingState.DISABLE) | ||
| ) | ||
| check_dbsync_state( | ||
| expected_state={t: TableCondition.EMPTY for t in GOVERNANCE_TABLES} # noqa: C420 |
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The # noqa: C420 comment suggests suppressing a flake8-comprehensions warning about unnecessary dict comprehension. However, this is a legitimate use case where a dict comprehension is needed to create the expected_state dictionary. Consider removing the noqa comment if the linter rule is overly strict, or ensure the team agrees this suppression is necessary.
| expected_state={t: TableCondition.NOT_EMPTY for t in GOVERNANCE_TABLES} # noqa: C420 | |
| ) | |
| db_sync_manager.restart_with_config( | |
| custom_config=db_config.with_governance(value=db_sync.SettingState.DISABLE) | |
| ) | |
| check_dbsync_state( | |
| expected_state={t: TableCondition.EMPTY for t in GOVERNANCE_TABLES} # noqa: C420 | |
| expected_state={t: TableCondition.NOT_EMPTY for t in GOVERNANCE_TABLES} | |
| ) | |
| db_sync_manager.restart_with_config( | |
| custom_config=db_config.with_governance(value=db_sync.SettingState.DISABLE) | |
| ) | |
| check_dbsync_state( | |
| expected_state={t: TableCondition.EMPTY for t in GOVERNANCE_TABLES} |
- Extract `GOVERNANCE_TABLES` constant. - Use `GOVERNANCE_TABLES` to dynamically construct `expected_state` dictionaries. - Remove redundant `tables_to_check` variable in `_query_func`.
032e987 to
76dfd55
Compare
Artifacts:
testing-artifacts.zip