extract _warn_about_missing_assertion into freestanding function
This commit is contained in:
parent
fbf01bd31a
commit
c4430e4354
|
@ -54,7 +54,7 @@ def main(args=None, plugins=None):
|
||||||
tw = py.io.TerminalWriter(sys.stderr)
|
tw = py.io.TerminalWriter(sys.stderr)
|
||||||
for line in traceback.format_exception(*e.excinfo):
|
for line in traceback.format_exception(*e.excinfo):
|
||||||
tw.line(line.rstrip(), red=True)
|
tw.line(line.rstrip(), red=True)
|
||||||
tw.line("ERROR: could not load %s\n" % (e.path), red=True)
|
tw.line("ERROR: could not load %s\n" % (e.path,), red=True)
|
||||||
return 4
|
return 4
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
@ -1016,7 +1016,7 @@ class Config(object):
|
||||||
mode = 'plain'
|
mode = 'plain'
|
||||||
else:
|
else:
|
||||||
self._mark_plugins_for_rewrite(hook)
|
self._mark_plugins_for_rewrite(hook)
|
||||||
self._warn_about_missing_assertion(mode)
|
_warn_about_missing_assertion(mode)
|
||||||
|
|
||||||
def _mark_plugins_for_rewrite(self, hook):
|
def _mark_plugins_for_rewrite(self, hook):
|
||||||
"""
|
"""
|
||||||
|
@ -1043,23 +1043,6 @@ class Config(object):
|
||||||
for name in _iter_rewritable_modules(package_files):
|
for name in _iter_rewritable_modules(package_files):
|
||||||
hook.mark_rewrite(name)
|
hook.mark_rewrite(name)
|
||||||
|
|
||||||
def _warn_about_missing_assertion(self, mode):
|
|
||||||
try:
|
|
||||||
assert False
|
|
||||||
except AssertionError:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
if mode == 'plain':
|
|
||||||
sys.stderr.write("WARNING: ASSERTIONS ARE NOT EXECUTED"
|
|
||||||
" and FAILING TESTS WILL PASS. Are you"
|
|
||||||
" using python -O?")
|
|
||||||
else:
|
|
||||||
sys.stderr.write("WARNING: assertions not in test modules or"
|
|
||||||
" plugins will be ignored"
|
|
||||||
" because assert statements are not executed "
|
|
||||||
"by the underlying Python interpreter "
|
|
||||||
"(are you using python -O?)\n")
|
|
||||||
|
|
||||||
def _preparse(self, args, addopts=True):
|
def _preparse(self, args, addopts=True):
|
||||||
if addopts:
|
if addopts:
|
||||||
args[:] = shlex.split(os.environ.get('PYTEST_ADDOPTS', '')) + args
|
args[:] = shlex.split(os.environ.get('PYTEST_ADDOPTS', '')) + args
|
||||||
|
@ -1233,6 +1216,29 @@ class Config(object):
|
||||||
return self.getoption(name, skip=True)
|
return self.getoption(name, skip=True)
|
||||||
|
|
||||||
|
|
||||||
|
def _assertion_supported():
|
||||||
|
try:
|
||||||
|
assert False
|
||||||
|
except AssertionError:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def _warn_about_missing_assertion(mode):
|
||||||
|
if not _assertion_supported():
|
||||||
|
if mode == 'plain':
|
||||||
|
sys.stderr.write("WARNING: ASSERTIONS ARE NOT EXECUTED"
|
||||||
|
" and FAILING TESTS WILL PASS. Are you"
|
||||||
|
" using python -O?")
|
||||||
|
else:
|
||||||
|
sys.stderr.write("WARNING: assertions not in test modules or"
|
||||||
|
" plugins will be ignored"
|
||||||
|
" because assert statements are not executed "
|
||||||
|
"by the underlying Python interpreter "
|
||||||
|
"(are you using python -O?)\n")
|
||||||
|
|
||||||
|
|
||||||
def exists(path, ignore=EnvironmentError):
|
def exists(path, ignore=EnvironmentError):
|
||||||
try:
|
try:
|
||||||
return path.check()
|
return path.check()
|
||||||
|
|
Loading…
Reference in New Issue