parent
77bd0aa02f
commit
c8d52b633b
|
@ -168,7 +168,7 @@ class AssertionRewritingHook(object):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
for marked in self._must_rewrite:
|
for marked in self._must_rewrite:
|
||||||
if name.startswith(marked):
|
if name == marked or name.startswith(marked + '.'):
|
||||||
state.trace("matched marked file %r (from %r)" % (name, marked))
|
state.trace("matched marked file %r (from %r)" % (name, marked))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fix issue in assertion rewriting which could lead it to rewrite modules which should not be rewritten.
|
|
@ -129,6 +129,24 @@ class TestImportHookInstallation(object):
|
||||||
result = testdir.runpytest_subprocess('--assert=rewrite')
|
result = testdir.runpytest_subprocess('--assert=rewrite')
|
||||||
assert result.ret == 0
|
assert result.ret == 0
|
||||||
|
|
||||||
|
def test_pytest_plugins_rewrite_module_names_correctly(self, testdir):
|
||||||
|
"""Test that we match files correctly when they are marked for rewriting (#2939)."""
|
||||||
|
contents = {
|
||||||
|
'conftest.py': """
|
||||||
|
pytest_plugins = "ham"
|
||||||
|
""",
|
||||||
|
'ham.py': "",
|
||||||
|
'hamster.py': "",
|
||||||
|
'test_foo.py': """
|
||||||
|
def test_foo(pytestconfig):
|
||||||
|
assert pytestconfig.pluginmanager.rewrite_hook.find_module('ham') is not None
|
||||||
|
assert pytestconfig.pluginmanager.rewrite_hook.find_module('hamster') is None
|
||||||
|
""",
|
||||||
|
}
|
||||||
|
testdir.makepyfile(**contents)
|
||||||
|
result = testdir.runpytest_subprocess('--assert=rewrite')
|
||||||
|
assert result.ret == 0
|
||||||
|
|
||||||
@pytest.mark.parametrize('mode', ['plain', 'rewrite'])
|
@pytest.mark.parametrize('mode', ['plain', 'rewrite'])
|
||||||
@pytest.mark.parametrize('plugin_state', ['development', 'installed'])
|
@pytest.mark.parametrize('plugin_state', ['development', 'installed'])
|
||||||
def test_installed_plugin_rewrite(self, testdir, mode, plugin_state):
|
def test_installed_plugin_rewrite(self, testdir, mode, plugin_state):
|
||||||
|
|
Loading…
Reference in New Issue