From 4b70ba2c2113cc1fed40c4db04f31df8990d6a2c Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Fri, 14 Feb 2020 17:00:01 +0100 Subject: [PATCH] tests: harden test_better_reporting_on_conftest_load_failure (#6713) --- testing/acceptance_test.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py index 4cbaebeb1..c7c16d60d 100644 --- a/testing/acceptance_test.py +++ b/testing/acceptance_test.py @@ -190,10 +190,10 @@ class TestGeneralUsage: ) @pytest.mark.filterwarnings("default") - def test_better_reporting_on_conftest_load_failure(self, testdir, request): + def test_better_reporting_on_conftest_load_failure(self, testdir): """Show a user-friendly traceback on conftest import failures (#486, #3332)""" testdir.makepyfile("") - testdir.makeconftest( + conftest = testdir.makeconftest( """ def foo(): import qwerty @@ -208,22 +208,18 @@ class TestGeneralUsage: """ ) result = testdir.runpytest() - dirname = request.node.name + "0" exc_name = ( "ModuleNotFoundError" if sys.version_info >= (3, 6) else "ImportError" ) - result.stderr.fnmatch_lines( - [ - "ImportError while loading conftest '*{sep}{dirname}{sep}conftest.py'.".format( - dirname=dirname, sep=os.sep - ), - "conftest.py:3: in ", - " foo()", - "conftest.py:2: in foo", - " import qwerty", - "E {}: No module named 'qwerty'".format(exc_name), - ] - ) + assert result.stdout.lines == [] + assert result.stderr.lines == [ + "ImportError while loading conftest '{}'.".format(conftest), + "conftest.py:3: in ", + " foo()", + "conftest.py:2: in foo", + " import qwerty", + "E {}: No module named 'qwerty'".format(exc_name), + ] def test_early_skip(self, testdir): testdir.mkdir("xyz")