test(db-sync config): Add db-sync test for governance option#3130
test(db-sync config): Add db-sync test for governance option#3130
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.
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 |
There was a problem hiding this comment.
[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