diff --git a/.travis.yml b/.travis.yml index f8f127b1a..b2d356e19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,10 +29,6 @@ env: - TESTENV=docs matrix: - allow_failures: - # see #1989 - - env: TESTENV=py27-trial - - env: TESTENV=py35-trial include: - env: TESTENV=py36 python: '3.6-dev' diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 42b88ae1b..ffe034332 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,9 @@ expected warnings and the list of caught warnings is added to the error message. Thanks `@lesteve`_ for the PR. +* Fix ``pytester`` internal plugin to work correctly with latest versions of + ``zope.interface`` (`#1989`_). Thanks `@nicoddemus`_ for the PR. + * Assert statements of the ``pytester`` plugin again benefit from assertion rewriting (`#1920`_). Thanks `@RonnyPfannschmidt`_ for the report and `@nicoddemus`_ for the PR. @@ -31,6 +34,8 @@ .. _@pelme: https://github.com/pelme .. _@eli-b: https://github.com/eli-b + +.. _#1989: https://github.com/pytest-dev/pytest/issues/1989 .. _#1920: https://github.com/pytest-dev/pytest/issues/1920 .. _#2129: https://github.com/pytest-dev/pytest/issues/2129 .. _#2148: https://github.com/pytest-dev/pytest/issues/2148 diff --git a/_pytest/pytester.py b/_pytest/pytester.py index de7899173..6c63bbbbf 100644 --- a/_pytest/pytester.py +++ b/_pytest/pytester.py @@ -447,9 +447,9 @@ class Testdir: the module is re-imported. """ for name in set(sys.modules).difference(self._savemodulekeys): - # it seems zope.interfaces is keeping some state - # (used by twisted related tests) - if name != "zope.interface": + # zope.interface (used by twisted-related tests) keeps internal + # state and can't be deleted + if not name.startswith("zope.interface"): del sys.modules[name] def make_hook_recorder(self, pluginmanager): diff --git a/appveyor.yml b/appveyor.yml index aa28e4db8..cc72b4b70 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -28,12 +28,6 @@ environment: - TOXENV: "freeze" - TOXENV: "docs" -matrix: - allow_failures: - # see #1989 - - TOXENV: "py27-trial" - - TOXENV: "py35-trial" - install: - echo Installed Pythons - dir c:\Python*