fix autouse invocation (off-by-one error), relates to issue in moinmoin test suite
This commit is contained in:
parent
f3e03fc298
commit
d66ff7e63e
|
@ -5,6 +5,8 @@ Changes between 2.3.3 and 2.3.4.dev
|
||||||
with autouse fixtures. If you need generative tests, use
|
with autouse fixtures. If you need generative tests, use
|
||||||
@pytest.mark.parametrize or pytest_generate_tests, see the
|
@pytest.mark.parametrize or pytest_generate_tests, see the
|
||||||
many examples at http://pytest.org/latest/example/parametrize.html
|
many examples at http://pytest.org/latest/example/parametrize.html
|
||||||
|
- fix autouse-issue where autouse-fixtures would not be discovered
|
||||||
|
if defined in a a/conftest.py file and tests in a/tests/test_some.py
|
||||||
- fix issue226 - LIFO ordering for fixture teardowns
|
- fix issue226 - LIFO ordering for fixture teardowns
|
||||||
- fix issue224 - invocations with >256 char arguments now work
|
- fix issue224 - invocations with >256 char arguments now work
|
||||||
- fix issue91 - add/discuss package/directory level setups in example
|
- fix issue91 - add/discuss package/directory level setups in example
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#
|
#
|
||||||
__version__ = '2.3.4.dev5'
|
__version__ = '2.3.4.dev6'
|
||||||
|
|
|
@ -1455,7 +1455,7 @@ class FixtureManager:
|
||||||
for baseid, basenames in self._nodeid_and_autousenames:
|
for baseid, basenames in self._nodeid_and_autousenames:
|
||||||
if nodeid.startswith(baseid):
|
if nodeid.startswith(baseid):
|
||||||
if baseid:
|
if baseid:
|
||||||
i = len(baseid) + 1
|
i = len(baseid)
|
||||||
nextchar = nodeid[i:i+1]
|
nextchar = nodeid[i:i+1]
|
||||||
if nextchar and nextchar not in ":/":
|
if nextchar and nextchar not in ":/":
|
||||||
continue
|
continue
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -48,7 +48,7 @@ def main():
|
||||||
name='pytest',
|
name='pytest',
|
||||||
description='py.test: simple powerful testing with Python',
|
description='py.test: simple powerful testing with Python',
|
||||||
long_description = long_description,
|
long_description = long_description,
|
||||||
version='2.3.4.dev5',
|
version='2.3.4.dev6',
|
||||||
url='http://pytest.org',
|
url='http://pytest.org',
|
||||||
license='MIT license',
|
license='MIT license',
|
||||||
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
|
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
|
||||||
|
|
|
@ -948,7 +948,26 @@ class TestAutouseDiscovery:
|
||||||
reprec = testdir.inline_run()
|
reprec = testdir.inline_run()
|
||||||
reprec.assertoutcome(passed=3)
|
reprec.assertoutcome(passed=3)
|
||||||
|
|
||||||
|
|
||||||
class TestAutouseManagement:
|
class TestAutouseManagement:
|
||||||
|
def test_autouse_conftest_mid_directory(self, testdir):
|
||||||
|
pkgdir = testdir.mkpydir("xyz123")
|
||||||
|
pkgdir.join("conftest.py").write(py.code.Source("""
|
||||||
|
import pytest
|
||||||
|
@pytest.fixture(autouse=True)
|
||||||
|
def app():
|
||||||
|
import sys
|
||||||
|
sys._myapp = "hello"
|
||||||
|
"""))
|
||||||
|
t = pkgdir.ensure("tests", "test_app.py")
|
||||||
|
t.write(py.code.Source("""
|
||||||
|
import sys
|
||||||
|
def test_app():
|
||||||
|
assert sys._myapp == "hello"
|
||||||
|
"""))
|
||||||
|
reprec = testdir.inline_run("-s")
|
||||||
|
reprec.assertoutcome(passed=1)
|
||||||
|
|
||||||
def test_funcarg_and_setup(self, testdir):
|
def test_funcarg_and_setup(self, testdir):
|
||||||
testdir.makepyfile("""
|
testdir.makepyfile("""
|
||||||
import pytest
|
import pytest
|
||||||
|
|
Loading…
Reference in New Issue