commit
ce95437dee
|
@ -1,7 +1,8 @@
|
||||||
2.7.0.dev (compared to 2.6.4)
|
2.7.0.dev (compared to 2.6.4)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
- fix issue463: raise specific error for 'parameterize' misspelling.
|
- fix issue435: make reload() work when assert rewriting is active.
|
||||||
|
Thanks Daniel Hahler.
|
||||||
|
|
||||||
- fix issue616: conftest.py files and their contained fixutres are now
|
- fix issue616: conftest.py files and their contained fixutres are now
|
||||||
properly considered for visibility, independently from the exact
|
properly considered for visibility, independently from the exact
|
||||||
|
@ -59,6 +60,8 @@
|
||||||
|
|
||||||
- allow to override parametrized fixtures with non-parametrized ones and vice versa (bubenkoff).
|
- allow to override parametrized fixtures with non-parametrized ones and vice versa (bubenkoff).
|
||||||
|
|
||||||
|
- fix issue463: raise specific error for 'parameterize' misspelling (pfctdayelise).
|
||||||
|
|
||||||
2.6.4
|
2.6.4
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,12 @@ class AssertionRewritingHook(object):
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def load_module(self, name):
|
def load_module(self, name):
|
||||||
|
# If there is an existing module object named 'fullname' in
|
||||||
|
# sys.modules, the loader must use that existing module. (Otherwise,
|
||||||
|
# the reload() builtin will not work correctly.)
|
||||||
|
if name in sys.modules:
|
||||||
|
return sys.modules[name]
|
||||||
|
|
||||||
co, pyc = self.modules.pop(name)
|
co, pyc = self.modules.pop(name)
|
||||||
# I wish I could just call imp.load_compiled here, but __file__ has to
|
# I wish I could just call imp.load_compiled here, but __file__ has to
|
||||||
# be set properly. In Python 3.2+, this all would be handled correctly
|
# be set properly. In Python 3.2+, this all would be handled correctly
|
||||||
|
|
|
@ -778,7 +778,6 @@ class Metafunc(FuncargnamesCompatAttr):
|
||||||
self.fixturenames = fixtureinfo.names_closure
|
self.fixturenames = fixtureinfo.names_closure
|
||||||
self._arg2fixturedefs = fixtureinfo.name2fixturedefs
|
self._arg2fixturedefs = fixtureinfo.name2fixturedefs
|
||||||
self.cls = cls
|
self.cls = cls
|
||||||
self.module = module
|
|
||||||
self._calls = []
|
self._calls = []
|
||||||
self._ids = py.builtin.set()
|
self._ids = py.builtin.set()
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,6 @@ using it::
|
||||||
def test_ehlo(smtp):
|
def test_ehlo(smtp):
|
||||||
response, msg = smtp.ehlo()
|
response, msg = smtp.ehlo()
|
||||||
assert response == 250
|
assert response == 250
|
||||||
assert "merlinux" in msg
|
|
||||||
assert 0 # for demo purposes
|
assert 0 # for demo purposes
|
||||||
|
|
||||||
Here, the ``test_ehlo`` needs the ``smtp`` fixture value. pytest
|
Here, the ``test_ehlo`` needs the ``smtp`` fixture value. pytest
|
||||||
|
|
|
@ -26,6 +26,7 @@ Here are some examples of projects using ``pytest`` (please send notes via :ref:
|
||||||
`21000 tests <http://buildbot.pypy.org/summary?branch=%3Ctrunk%3E>`_
|
`21000 tests <http://buildbot.pypy.org/summary?branch=%3Ctrunk%3E>`_
|
||||||
* the `MoinMoin <http://moinmo.in>`_ Wiki Engine
|
* the `MoinMoin <http://moinmo.in>`_ Wiki Engine
|
||||||
* `sentry <https://getsentry.com/welcome/>`_, realtime app-maintenance and exception tracking
|
* `sentry <https://getsentry.com/welcome/>`_, realtime app-maintenance and exception tracking
|
||||||
|
* `Astropy <http://www.astropy.org/>`_ and `affiliated packages <http://www.astropy.org/affiliated/index.html>`_
|
||||||
* `tox <http://testrun.org/tox>`_, virtualenv/Hudson integration tool
|
* `tox <http://testrun.org/tox>`_, virtualenv/Hudson integration tool
|
||||||
* `PIDA <http://pida.co.uk>`_ framework for integrated development
|
* `PIDA <http://pida.co.uk>`_ framework for integrated development
|
||||||
* `PyPM <http://code.activestate.com/pypm/>`_ ActiveState's package manager
|
* `PyPM <http://code.activestate.com/pypm/>`_ ActiveState's package manager
|
||||||
|
|
|
@ -641,3 +641,27 @@ class TestAssertionRewriteHookDetails(object):
|
||||||
pyc.write(contents[:strip_bytes], mode='wb')
|
pyc.write(contents[:strip_bytes], mode='wb')
|
||||||
|
|
||||||
assert _read_pyc(source, str(pyc)) is None # no error
|
assert _read_pyc(source, str(pyc)) is None # no error
|
||||||
|
|
||||||
|
def test_reload_is_same(self, testdir):
|
||||||
|
# A file that will be picked up during collecting.
|
||||||
|
testdir.tmpdir.join("file.py").ensure()
|
||||||
|
testdir.tmpdir.join("pytest.ini").write(py.std.textwrap.dedent("""
|
||||||
|
[pytest]
|
||||||
|
python_files = *.py
|
||||||
|
"""))
|
||||||
|
|
||||||
|
testdir.makepyfile(test_fun="""
|
||||||
|
import sys
|
||||||
|
try:
|
||||||
|
from imp import reload
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def test_loader():
|
||||||
|
import file
|
||||||
|
assert sys.modules["file"] is reload(file)
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest('-s')
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
"* 1 passed*",
|
||||||
|
])
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -136,7 +136,7 @@ commands=
|
||||||
minversion=2.0
|
minversion=2.0
|
||||||
plugins=pytester
|
plugins=pytester
|
||||||
#--pyargs --doctest-modules --ignore=.tox
|
#--pyargs --doctest-modules --ignore=.tox
|
||||||
addopts= -rxsX -vl
|
addopts= -rxsX
|
||||||
rsyncdirs=tox.ini pytest.py _pytest testing
|
rsyncdirs=tox.ini pytest.py _pytest testing
|
||||||
python_files=test_*.py *_test.py testing/*/*.py
|
python_files=test_*.py *_test.py testing/*/*.py
|
||||||
python_classes=Test Acceptance
|
python_classes=Test Acceptance
|
||||||
|
|
Loading…
Reference in New Issue