From 1046d03486fd853ec122b41c4be2049df2f84ae8 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 14 Jun 2024 16:35:03 +0200 Subject: [PATCH] Python: update unused import test case for pytest --- .../Imports/unused/UnusedImport.expected | 5 +++-- .../query-tests/Imports/unused/imports_test.py | 4 +++- .../Imports/unused/pytest_fixtures.py | 17 +++++++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/python/ql/test/query-tests/Imports/unused/UnusedImport.expected b/python/ql/test/query-tests/Imports/unused/UnusedImport.expected index 27408907e8a..440373952ec 100644 --- a/python/ql/test/query-tests/Imports/unused/UnusedImport.expected +++ b/python/ql/test/query-tests/Imports/unused/UnusedImport.expected @@ -5,5 +5,6 @@ | imports_test.py:10:1:10:22 | Import | Import of 'top_level_cycle' is not used. | | imports_test.py:27:1:27:25 | Import | Import of 'func2' is not used. | | imports_test.py:34:1:34:14 | Import | Import of 'module2' is not used. | -| imports_test.py:116:1:116:85 | Import | Import of 'fixture_instance' is not used. | -| imports_test.py:116:1:116:85 | Import | Import of 'not_a_fixture' is not used. | +| imports_test.py:116:1:116:41 | Import | Import of 'not_a_fixture' is not used. | +| imports_test.py:118:1:118:68 | Import | Import of 'session_fixture' is not used. | +| imports_test.py:118:1:118:68 | Import | Import of 'wrapped_autouse_fixture' is not used. | diff --git a/python/ql/test/query-tests/Imports/unused/imports_test.py b/python/ql/test/query-tests/Imports/unused/imports_test.py index 842fcaf1eb8..e719af3bdaf 100644 --- a/python/ql/test/query-tests/Imports/unused/imports_test.py +++ b/python/ql/test/query-tests/Imports/unused/imports_test.py @@ -113,4 +113,6 @@ def baz() -> Optional['subexpression_return_type']: pass -from pytest_fixtures import fixture, wrapped_fixture, fixture_instance, not_a_fixture +from pytest_fixtures import not_a_fixture # BAD +from pytest_fixtures import fixture, wrapped_fixture # GOOD (pytest fixtures are used implicitly by pytest) +from pytest_fixtures import session_fixture, wrapped_autouse_fixture # GOOD [FALSE POSITIVE] diff --git a/python/ql/test/query-tests/Imports/unused/pytest_fixtures.py b/python/ql/test/query-tests/Imports/unused/pytest_fixtures.py index 9777d07af65..b363db59db2 100644 --- a/python/ql/test/query-tests/Imports/unused/pytest_fixtures.py +++ b/python/ql/test/query-tests/Imports/unused/pytest_fixtures.py @@ -15,11 +15,20 @@ def fixture_wrapper(): def wrapped_fixture(): pass -@pytest.fixture(scope='session', autorun=True) -def factory_fixture(): - pass -fixture_instance = factory_fixture() +@pytest.fixture(scope='session') +def session_fixture(): + pass def not_a_fixture(): pass + +def another_fixture_wrapper(): + @pytest.fixture(autouse=True) + def delegate(): + pass + return delegate + +@another_fixture_wrapper +def wrapped_autouse_fixture(): + pass