From 1f10c59cd3a716bda3c7d4a91cdaa6fb9e910ef8 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Sun, 27 Mar 2022 16:30:57 +0200 Subject: [PATCH 1/7] Clarify error message in case no collectors are found for a file --- src/_pytest/main.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/_pytest/main.py b/src/_pytest/main.py index 8f590754ae0..fc42beb5ab4 100644 --- a/src/_pytest/main.py +++ b/src/_pytest/main.py @@ -645,9 +645,12 @@ def perform_collect( self.trace.root.indent -= 1 if self._notfound: errors = [] - for arg, cols in self._notfound: - line = f"(no name {arg!r} in any of {cols!r})" - errors.append(f"not found: {arg}\n{line}") + for arg, collectors in self._notfound: + if cols: + errors.append(f"not found: {arg}\n(no name {arg!r} in any of {collectors!r})") + else: + errors.append(f"found no collectors for {arg}") + raise UsageError(*errors) if not genitems: items = rep.result From 0eae340e139058b1337908f6df86aaf71e7213ff Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 27 Mar 2022 14:41:11 +0000 Subject: [PATCH 2/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/_pytest/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/_pytest/main.py b/src/_pytest/main.py index fc42beb5ab4..67bd0489804 100644 --- a/src/_pytest/main.py +++ b/src/_pytest/main.py @@ -647,10 +647,12 @@ def perform_collect( errors = [] for arg, collectors in self._notfound: if cols: - errors.append(f"not found: {arg}\n(no name {arg!r} in any of {collectors!r})") + errors.append( + f"not found: {arg}\n(no name {arg!r} in any of {collectors!r})" + ) else: errors.append(f"found no collectors for {arg}") - + raise UsageError(*errors) if not genitems: items = rep.result From 63c73380281e7201dde2be62dad6c6d58841c139 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Sun, 27 Mar 2022 16:56:23 +0200 Subject: [PATCH 3/7] Fix rename issue --- src/_pytest/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_pytest/main.py b/src/_pytest/main.py index 67bd0489804..f2f0c667141 100644 --- a/src/_pytest/main.py +++ b/src/_pytest/main.py @@ -646,7 +646,7 @@ def perform_collect( if self._notfound: errors = [] for arg, collectors in self._notfound: - if cols: + if collectors: errors.append( f"not found: {arg}\n(no name {arg!r} in any of {collectors!r})" ) From 31595e8733bf28ae41f7a222fbf24596bf361338 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 29 Mar 2022 12:33:13 +0200 Subject: [PATCH 4/7] Fix tests --- testing/acceptance_test.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py index 71d3cc23a2e..92661b0f23a 100644 --- a/testing/acceptance_test.py +++ b/testing/acceptance_test.py @@ -186,8 +186,7 @@ def test_not_collectable_arguments(self, pytester: Pytester) -> None: assert result.ret == ExitCode.USAGE_ERROR result.stderr.fnmatch_lines( [ - f"ERROR: not found: {p2}", - f"(no name {str(p2)!r} in any of [[][]])", + f"ERROR: found no collectors for {p2}", "", ] ) From 141b301d3d085b8833827133cbe02f8dd13de36b Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 29 Mar 2022 12:34:15 +0200 Subject: [PATCH 5/7] Fix more tests --- testing/test_config.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/testing/test_config.py b/testing/test_config.py index 6784809e097..b2c74085eae 100644 --- a/testing/test_config.py +++ b/testing/test_config.py @@ -1855,8 +1855,7 @@ def test_config_blocked_default_plugins(pytester: Pytester, plugin: str) -> None assert result.ret == ExitCode.USAGE_ERROR result.stderr.fnmatch_lines( [ - "ERROR: not found: */test_config_blocked_default_plugins.py", - "(no name '*/test_config_blocked_default_plugins.py' in any of [])", + "ERROR: found no collectors for */test_config_blocked_default_plugins.py", ] ) return From 3fcdbaf0c5ece9a3f193de793c3f1abee6b57358 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 29 Mar 2022 12:37:23 +0200 Subject: [PATCH 6/7] Add changelog --- changelog/9823.improvement.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/9823.improvement.rst diff --git a/changelog/9823.improvement.rst b/changelog/9823.improvement.rst new file mode 100644 index 00000000000..0a14cab6743 --- /dev/null +++ b/changelog/9823.improvement.rst @@ -0,0 +1 @@ +Improved error message that is shown when no collector is found for a given file. From 387ec02021e91ae11a89ec5fc578dc5251ea2468 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 29 Mar 2022 12:38:34 +0200 Subject: [PATCH 7/7] Add to AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 69e71fa10d4..0dbc728eba1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -325,6 +325,7 @@ Thomas Grainger Thomas Hisch Tim Hoffmann Tim Strazny +Tobias Diez Tom Dalton Tom Viner Tomáš Gavenčiak