Merge pull request #2136 from hroncok/i2132

Tests: Check for ModuleNotFoundError on Python 3.6+
This commit is contained in:
Bruno Oliveira 2016-12-27 23:10:58 -02:00 committed by GitHub
commit 091148f843
4 changed files with 12 additions and 3 deletions

View File

@ -33,6 +33,9 @@ matrix:
# see #1989
- env: TESTENV=py27-trial
- env: TESTENV=py35-trial
include:
- env: TESTENV=py36
python: '3.6-dev'
script: tox --recreate -e $TESTENV

View File

@ -27,6 +27,9 @@ _PY2 = not _PY3
NoneType = type(None)
NOTSET = object()
PY36 = sys.version_info[:2] >= (3, 6)
MODULE_NOT_FOUND_ERROR = 'ModuleNotFoundError' if PY36 else 'ImportError'
if hasattr(inspect, 'signature'):
def _format_args(func):
return str(inspect.signature(func))

View File

@ -1,9 +1,11 @@
# encoding: utf-8
import sys
import _pytest._code
from _pytest.compat import MODULE_NOT_FOUND_ERROR
from _pytest.doctest import DoctestItem, DoctestModule, DoctestTextfile
import pytest
class TestDoctests:
def test_collect_testtextfile(self, testdir):
@ -211,8 +213,8 @@ class TestDoctests:
# doctest is never executed because of error during hello.py collection
result.stdout.fnmatch_lines([
"*>>> import asdals*",
"*UNEXPECTED*ImportError*",
"ImportError: No module named *asdal*",
"*UNEXPECTED*{e}*".format(e=MODULE_NOT_FOUND_ERROR),
"{e}: No module named *asdal*".format(e=MODULE_NOT_FOUND_ERROR),
])
def test_doctest_unex_importerror_with_module(self, testdir):
@ -227,7 +229,7 @@ class TestDoctests:
# doctest is never executed because of error during hello.py collection
result.stdout.fnmatch_lines([
"*ERROR collecting hello.py*",
"*ImportError: No module named *asdals*",
"*{e}: No module named *asdals*".format(e=MODULE_NOT_FOUND_ERROR),
"*Interrupted: 1 errors during collection*",
])

View File

@ -9,6 +9,7 @@ envlist=
py33
py34
py35
py36
pypy
{py27,py35}-{pexpect,xdist,trial}
py27-nobyte