From 92422dcf754d3c8827ef636d093da3d5542e9aa1 Mon Sep 17 00:00:00 2001 From: "Antoine R. Dumont (@ardumont)" Date: Tue, 1 Sep 2020 17:55:23 +0200 Subject: [PATCH] pytest_plugin: Instantiate only lister with no particular setup This should fix the remaining blocking problems in the jenkins build failure report [1] [1] https://jenkins.softwareheritage.org/view/Debian%20packages/job/debian/job/packages/job/DLS/job/gbp-buildpackage/78/consoleFull --- swh/lister/pytest_plugin.py | 14 ++++++++++++-- swh/lister/tests/test_cli.py | 8 +++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/swh/lister/pytest_plugin.py b/swh/lister/pytest_plugin.py index d58195c..3d72a74 100644 --- a/swh/lister/pytest_plugin.py +++ b/swh/lister/pytest_plugin.py @@ -29,11 +29,21 @@ def lister_db_url(postgresql_proc, postgresql): @pytest.fixture -def swh_listers(mock_get_scheduler, lister_db_url, swh_scheduler): +def listers_to_instantiate(): + """Fixture to define what listers to instantiate. Because some need dedicated setup. + + """ + return set(SUPPORTED_LISTERS) - {"launchpad"} + + +@pytest.fixture +def swh_listers( + mock_get_scheduler, lister_db_url, swh_scheduler, listers_to_instantiate +): listers = {} # Prepare schema for all listers - for lister_name in SUPPORTED_LISTERS: + for lister_name in listers_to_instantiate: lister = get_lister(lister_name, db_url=lister_db_url) listers[lister_name] = lister initialize(create_engine(lister_db_url), drop_tables=True) diff --git a/swh/lister/tests/test_cli.py b/swh/lister/tests/test_cli.py index 268dba6..95c19b2 100644 --- a/swh/lister/tests/test_cli.py +++ b/swh/lister/tests/test_cli.py @@ -7,7 +7,7 @@ import pytest from swh.lister.core.lister_base import ListerBase -from swh.lister.cli import get_lister, SUPPORTED_LISTERS +from swh.lister.cli import get_lister from .test_utils import init_db @@ -20,14 +20,12 @@ def test_get_lister_wrong_input(): assert "Invalid lister" in str(e.value) -def test_get_lister(mock_get_scheduler): +def test_get_lister(mock_get_scheduler, listers_to_instantiate): """Instantiating a supported lister should be ok """ db_url = init_db().url() - # launchpad lister need particular setup so exclude from the checks - listers_to_check = set(SUPPORTED_LISTERS) | {"launchpad"} - for lister_name in listers_to_check: + for lister_name in listers_to_instantiate: lst = get_lister(lister_name, db_url) assert isinstance(lst, ListerBase)