ignore valid setup.py during --doctest-modules

This commit is contained in:
je 2017-10-13 18:57:52 +08:00
parent c750a5beec
commit b29a9711c4
1 changed files with 9 additions and 1 deletions

View File

@ -50,12 +50,20 @@ def pytest_addoption(parser):
def pytest_collect_file(path, parent):
config = parent.config
if path.ext == ".py":
if config.option.doctestmodules:
if config.option.doctestmodules and not _is_setup_py(config, path, parent):
return DoctestModule(path, parent)
elif _is_doctest(config, path, parent):
return DoctestTextfile(path, parent)
def _is_setup_py(config, path, parent):
if path.basename != "setup.py":
return False
with open(path.strpath, 'r') as f:
contents = f.read()
return 'setuptools' in contents or 'distutils' in contents
def _is_doctest(config, path, parent):
if path.ext in ('.txt', '.rst') and parent.session.isinitpath(path):
return True