[svn r37862] Move Skipped/Failed/Passed out of public namespace
--HG-- branch : trunk
This commit is contained in:
parent
2fe1fa07ff
commit
9b62f2290c
|
@ -9,8 +9,8 @@ version = "0.8.80-alpha2"
|
||||||
|
|
||||||
initpkg(__name__,
|
initpkg(__name__,
|
||||||
description = "py.test and the py lib",
|
description = "py.test and the py lib",
|
||||||
revision = int('$LastChangedRevision: 37741 $'.split(':')[1][:-1]),
|
revision = int('$LastChangedRevision: 37862 $'.split(':')[1][:-1]),
|
||||||
lastchangedate = '$LastChangedDate: 2007-02-01 16:20:39 +0100 (Thu, 01 Feb 2007) $',
|
lastchangedate = '$LastChangedDate: 2007-02-03 13:14:46 +0100 (Sat, 03 Feb 2007) $',
|
||||||
version = version,
|
version = version,
|
||||||
url = "http://codespeak.net/py",
|
url = "http://codespeak.net/py",
|
||||||
download_url = "http://codespeak.net/download/py/%s.tar.gz" %(version,),
|
download_url = "http://codespeak.net/download/py/%s.tar.gz" %(version,),
|
||||||
|
@ -27,6 +27,7 @@ initpkg(__name__,
|
||||||
'test.skip' : ('./test/item.py', 'skip'),
|
'test.skip' : ('./test/item.py', 'skip'),
|
||||||
'test.fail' : ('./test/item.py', 'fail'),
|
'test.fail' : ('./test/item.py', 'fail'),
|
||||||
'test.exit' : ('./test/session.py', 'exit'),
|
'test.exit' : ('./test/session.py', 'exit'),
|
||||||
|
'test.pdb' : ('./test/pdbplus.py', 'start_pdb'),
|
||||||
|
|
||||||
# configuration/initialization related test api
|
# configuration/initialization related test api
|
||||||
'test.config' : ('./test/config.py', 'config_per_process'),
|
'test.config' : ('./test/config.py', 'config_per_process'),
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
|
|
||||||
import py
|
import py
|
||||||
failure_demo = py.magic.autopath().dirpath('failure_demo.py')
|
failure_demo = py.magic.autopath().dirpath('failure_demo.py')
|
||||||
|
from py.__.test.outcome import Failed, Passed
|
||||||
|
|
||||||
def test_failure_demo_fails_properly():
|
def test_failure_demo_fails_properly():
|
||||||
config = py.test.config._reparse([failure_demo])
|
config = py.test.config._reparse([failure_demo])
|
||||||
session = config.initsession()
|
session = config.initsession()
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 21
|
assert len(l) == 21
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert not l
|
assert not l
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
import py
|
import py
|
||||||
|
from py.__.test.outcome import Skipped, Failed, Passed
|
||||||
|
|
||||||
def setup_module(mod):
|
def setup_module(mod):
|
||||||
mod.tmpdir = py.test.ensuretemp('docdoctest')
|
mod.tmpdir = py.test.ensuretemp('docdoctest')
|
||||||
|
@ -30,10 +31,10 @@ def test_doctest_basic():
|
||||||
config = py.test.config._reparse([xtxt])
|
config = py.test.config._reparse([xtxt])
|
||||||
session = config.initsession()
|
session = config.initsession()
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 0
|
assert len(l) == 0
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
|
l2 = session.getitemoutcomepairs(Skipped)
|
||||||
assert len(l+l2) == 2
|
assert len(l+l2) == 2
|
||||||
|
|
||||||
def test_doctest_eol():
|
def test_doctest_eol():
|
||||||
|
@ -45,10 +46,10 @@ def test_doctest_eol():
|
||||||
config = py.test.config._reparse([ytxt])
|
config = py.test.config._reparse([ytxt])
|
||||||
session = config.initsession()
|
session = config.initsession()
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 0
|
assert len(l) == 0
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
|
l2 = session.getitemoutcomepairs(Skipped)
|
||||||
assert len(l+l2) == 2
|
assert len(l+l2) == 2
|
||||||
|
|
||||||
def test_js_ignore():
|
def test_js_ignore():
|
||||||
|
@ -63,10 +64,10 @@ def test_js_ignore():
|
||||||
config = py.test.config._reparse([xtxt])
|
config = py.test.config._reparse([xtxt])
|
||||||
session = config.initsession()
|
session = config.initsession()
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 0
|
assert len(l) == 0
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
|
l2 = session.getitemoutcomepairs(Skipped)
|
||||||
assert len(l+l2) == 3
|
assert len(l+l2) == 3
|
||||||
|
|
||||||
def test_resolve_linkrole():
|
def test_resolve_linkrole():
|
||||||
|
|
|
@ -56,27 +56,6 @@ class Collector(object):
|
||||||
Generator = configproperty('Generator')
|
Generator = configproperty('Generator')
|
||||||
|
|
||||||
_stickyfailure = None
|
_stickyfailure = None
|
||||||
class Outcome:
|
|
||||||
def __init__(self, msg=None, excinfo=None):
|
|
||||||
self.msg = msg
|
|
||||||
self.excinfo = excinfo
|
|
||||||
def __repr__(self):
|
|
||||||
if self.msg:
|
|
||||||
return self.msg
|
|
||||||
return "<%s instance>" %(self.__class__.__name__,)
|
|
||||||
__str__ = __repr__
|
|
||||||
|
|
||||||
class Passed(Outcome):
|
|
||||||
pass
|
|
||||||
class Failed(Outcome):
|
|
||||||
pass
|
|
||||||
class ExceptionFailure(Failed):
|
|
||||||
def __init__(self, expr, expected, msg=None, excinfo=None):
|
|
||||||
Collector.Failed.__init__(self, msg=msg, excinfo=excinfo)
|
|
||||||
self.expr = expr
|
|
||||||
self.expected = expected
|
|
||||||
class Skipped(Outcome):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<%s %r>" %(self.__class__.__name__, self.name)
|
return "<%s %r>" %(self.__class__.__name__, self.name)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import py
|
import py
|
||||||
|
|
||||||
from inspect import isclass, ismodule
|
from inspect import isclass, ismodule
|
||||||
|
from py.__.test.outcome import Skipped, Failed, Passed
|
||||||
|
|
||||||
_dummy = object()
|
_dummy = object()
|
||||||
|
|
||||||
|
@ -101,10 +102,10 @@ class Function(Item):
|
||||||
def skip(msg="unknown reason"):
|
def skip(msg="unknown reason"):
|
||||||
""" skip with the given Message. """
|
""" skip with the given Message. """
|
||||||
__tracebackhide__ = True
|
__tracebackhide__ = True
|
||||||
raise py.test.Item.Skipped(msg=msg)
|
raise Skipped(msg=msg)
|
||||||
|
|
||||||
def fail(msg="unknown failure"):
|
def fail(msg="unknown failure"):
|
||||||
""" fail with the given Message. """
|
""" fail with the given Message. """
|
||||||
__tracebackhide__ = True
|
__tracebackhide__ = True
|
||||||
raise py.test.Item.Failed(msg=msg)
|
raise Failed(msg=msg)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
""" File defining possible outcomes of running
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Outcome:
|
||||||
|
def __init__(self, msg=None, excinfo=None):
|
||||||
|
self.msg = msg
|
||||||
|
self.excinfo = excinfo
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
if self.msg:
|
||||||
|
return self.msg
|
||||||
|
return "<%s instance>" %(self.__class__.__name__,)
|
||||||
|
__str__ = __repr__
|
||||||
|
|
||||||
|
class Passed(Outcome):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class Failed(Outcome):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class ExceptionFailure(Failed):
|
||||||
|
def __init__(self, expr, expected, msg=None, excinfo=None):
|
||||||
|
Failed.__init__(self, msg=msg, excinfo=excinfo)
|
||||||
|
self.expr = expr
|
||||||
|
self.expected = expected
|
||||||
|
|
||||||
|
class Skipped(Outcome):
|
||||||
|
pass
|
|
@ -1,6 +1,6 @@
|
||||||
import sys
|
import sys
|
||||||
import py
|
import py
|
||||||
ExceptionFailure = py.test.Item.ExceptionFailure
|
from py.__.test.outcome import ExceptionFailure
|
||||||
|
|
||||||
def raises(ExpectedException, *args, **kwargs):
|
def raises(ExpectedException, *args, **kwargs):
|
||||||
""" raise AssertionError, if target code does not raise the expected
|
""" raise AssertionError, if target code does not raise the expected
|
||||||
|
|
|
@ -6,6 +6,7 @@ import py, os
|
||||||
from py.__.test.rsession.outcome import Outcome, ReprOutcome
|
from py.__.test.rsession.outcome import Outcome, ReprOutcome
|
||||||
from py.__.test.rsession.box import Box
|
from py.__.test.rsession.box import Box
|
||||||
from py.__.test.rsession import report
|
from py.__.test.rsession import report
|
||||||
|
from py.__.test.outcome import Skipped, Failed
|
||||||
|
|
||||||
class RunExecutor(object):
|
class RunExecutor(object):
|
||||||
""" Same as in executor, but just running run
|
""" Same as in executor, but just running run
|
||||||
|
@ -26,7 +27,7 @@ class RunExecutor(object):
|
||||||
try:
|
try:
|
||||||
self.run()
|
self.run()
|
||||||
outcome = Outcome()
|
outcome = Outcome()
|
||||||
except py.test.Item.Skipped, e:
|
except Skipped, e:
|
||||||
outcome = Outcome(skipped=str(e))
|
outcome = Outcome(skipped=str(e))
|
||||||
except (KeyboardInterrupt, SystemExit):
|
except (KeyboardInterrupt, SystemExit):
|
||||||
raise
|
raise
|
||||||
|
|
|
@ -17,6 +17,7 @@ from py.__.test.rsession.local import local_loop, plain_runner, apigen_runner,\
|
||||||
box_runner
|
box_runner
|
||||||
from py.__.test.rsession.reporter import LocalReporter, RemoteReporter
|
from py.__.test.rsession.reporter import LocalReporter, RemoteReporter
|
||||||
from py.__.test.session import Session
|
from py.__.test.session import Session
|
||||||
|
from py.__.test.outcome import Skipped, Failed
|
||||||
|
|
||||||
class AbstractSession(Session):
|
class AbstractSession(Session):
|
||||||
"""
|
"""
|
||||||
|
@ -84,7 +85,7 @@ class AbstractSession(Session):
|
||||||
excinfo, item = data
|
excinfo, item = data
|
||||||
if excinfo is None:
|
if excinfo is None:
|
||||||
reporter(report.ItemStart(item))
|
reporter(report.ItemStart(item))
|
||||||
elif excinfo.type is py.test.Item.Skipped:
|
elif excinfo.type is Skipped:
|
||||||
reporter(report.SkippedTryiter(excinfo, item))
|
reporter(report.SkippedTryiter(excinfo, item))
|
||||||
else:
|
else:
|
||||||
reporter(report.FailedTryiter(excinfo, item))
|
reporter(report.FailedTryiter(excinfo, item))
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import py
|
import py
|
||||||
|
from py.__.test.outcome import Outcome, Failed, Passed, Skipped
|
||||||
|
|
||||||
class Session(object):
|
class Session(object):
|
||||||
"""
|
"""
|
||||||
|
@ -82,17 +83,17 @@ class Session(object):
|
||||||
outcome = self.run(colitem)
|
outcome = self.run(colitem)
|
||||||
except (KeyboardInterrupt, Exit):
|
except (KeyboardInterrupt, Exit):
|
||||||
raise
|
raise
|
||||||
except colitem.Outcome, outcome:
|
except Outcome, outcome:
|
||||||
if outcome.excinfo is None:
|
if outcome.excinfo is None:
|
||||||
outcome.excinfo = py.code.ExceptionInfo()
|
outcome.excinfo = py.code.ExceptionInfo()
|
||||||
except:
|
except:
|
||||||
excinfo = py.code.ExceptionInfo()
|
excinfo = py.code.ExceptionInfo()
|
||||||
outcome = colitem.Failed(excinfo=excinfo)
|
outcome = Failed(excinfo=excinfo)
|
||||||
assert (outcome is None or
|
assert (outcome is None or
|
||||||
isinstance(outcome, (list, colitem.Outcome)))
|
isinstance(outcome, (list, Outcome)))
|
||||||
finally:
|
finally:
|
||||||
self.finish(colitem, outcome)
|
self.finish(colitem, outcome)
|
||||||
if isinstance(outcome, colitem.Failed) and self.config.option.exitfirst:
|
if isinstance(outcome, Failed) and self.config.option.exitfirst:
|
||||||
py.test.exit("exit on first problem configured.", item=colitem)
|
py.test.exit("exit on first problem configured.", item=colitem)
|
||||||
finally:
|
finally:
|
||||||
colitem.finishcapture()
|
colitem.finishcapture()
|
||||||
|
@ -104,7 +105,7 @@ class Session(object):
|
||||||
colitem.skipbykeyword(self.config.option.keyword)
|
colitem.skipbykeyword(self.config.option.keyword)
|
||||||
res = colitem.run()
|
res = colitem.run()
|
||||||
if res is None:
|
if res is None:
|
||||||
return py.test.Item.Passed()
|
return Passed()
|
||||||
elif not isinstance(res, (list, tuple)):
|
elif not isinstance(res, (list, tuple)):
|
||||||
raise TypeError("%r.run() returned neither "
|
raise TypeError("%r.run() returned neither "
|
||||||
"list, tuple nor None: %r" % (colitem, res))
|
"list, tuple nor None: %r" % (colitem, res))
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
from __future__ import generators
|
from __future__ import generators
|
||||||
import py
|
import py
|
||||||
from py.__.test.session import Session
|
from py.__.test.session import Session
|
||||||
from py.__.test.terminal.out import getout
|
from py.__.test.terminal.out import getout
|
||||||
|
from py.__.test.outcome import Failed, Passed, Skipped
|
||||||
|
|
||||||
def checkpyfilechange(rootdir, statcache={}):
|
def checkpyfilechange(rootdir, statcache={}):
|
||||||
""" wait until project files are changed. """
|
""" wait until project files are changed. """
|
||||||
|
@ -135,6 +136,6 @@ def slaverun_TerminalSession(channel):
|
||||||
session.shouldclose = channel.isclosed
|
session.shouldclose = channel.isclosed
|
||||||
print "SLAVE: starting session.main()"
|
print "SLAVE: starting session.main()"
|
||||||
session.main()
|
session.main()
|
||||||
failures = session.getitemoutcomepairs(py.test.Item.Failed)
|
failures = session.getitemoutcomepairs(Failed)
|
||||||
failures = [config.get_collector_trail(item) for item,_ in failures]
|
failures = [config.get_collector_trail(item) for item,_ in failures]
|
||||||
channel.send(failures)
|
channel.send(failures)
|
||||||
|
|
|
@ -4,6 +4,7 @@ from time import time as now
|
||||||
Item = py.test.Item
|
Item = py.test.Item
|
||||||
from py.__.test.terminal.out import getout
|
from py.__.test.terminal.out import getout
|
||||||
from py.__.test.representation import Presenter
|
from py.__.test.representation import Presenter
|
||||||
|
from py.__.test.outcome import Skipped, Passed, Failed
|
||||||
|
|
||||||
def getrelpath(source, dest):
|
def getrelpath(source, dest):
|
||||||
base = source.common(dest)
|
base = source.common(dest)
|
||||||
|
@ -167,14 +168,14 @@ class TerminalSession(Session):
|
||||||
# progress information
|
# progress information
|
||||||
# --------------------
|
# --------------------
|
||||||
typemap = {
|
typemap = {
|
||||||
Item.Passed: '.',
|
Passed: '.',
|
||||||
Item.Skipped: 's',
|
Skipped: 's',
|
||||||
Item.Failed: 'F',
|
Failed: 'F',
|
||||||
}
|
}
|
||||||
namemap = {
|
namemap = {
|
||||||
Item.Passed: 'ok',
|
Passed: 'ok',
|
||||||
Item.Skipped: 'SKIP',
|
Skipped: 'SKIP',
|
||||||
Item.Failed: 'FAIL',
|
Failed: 'FAIL',
|
||||||
}
|
}
|
||||||
|
|
||||||
def repr_progress_short_result(self, item, outcome):
|
def repr_progress_short_result(self, item, outcome):
|
||||||
|
@ -194,11 +195,11 @@ class TerminalSession(Session):
|
||||||
return 'UNKNOWN'
|
return 'UNKNOWN'
|
||||||
|
|
||||||
def repr_progress_module_result(self, item, outcome):
|
def repr_progress_module_result(self, item, outcome):
|
||||||
if isinstance(outcome, py.test.Item.Failed):
|
if isinstance(outcome, Failed):
|
||||||
return "FAILED TO LOAD MODULE"
|
return "FAILED TO LOAD MODULE"
|
||||||
elif isinstance(outcome, py.test.Item.Skipped):
|
elif isinstance(outcome, Skipped):
|
||||||
return "skipped"
|
return "skipped"
|
||||||
elif not isinstance(outcome, (list, py.test.Item.Passed)):
|
elif not isinstance(outcome, (list, Passed)):
|
||||||
return "?"
|
return "?"
|
||||||
|
|
||||||
# --------------------
|
# --------------------
|
||||||
|
@ -207,7 +208,7 @@ class TerminalSession(Session):
|
||||||
def summaryline(self):
|
def summaryline(self):
|
||||||
outlist = []
|
outlist = []
|
||||||
sum = 0
|
sum = 0
|
||||||
for typ in Item.Passed, Item.Failed, Item.Skipped:
|
for typ in Passed, Failed, Skipped:
|
||||||
l = self.getitemoutcomepairs(typ)
|
l = self.getitemoutcomepairs(typ)
|
||||||
if l:
|
if l:
|
||||||
outlist.append('%d %s' % (len(l), typ.__name__.lower()))
|
outlist.append('%d %s' % (len(l), typ.__name__.lower()))
|
||||||
|
@ -232,7 +233,7 @@ class TerminalSession(Session):
|
||||||
|
|
||||||
def skippedreasons(self):
|
def skippedreasons(self):
|
||||||
texts = {}
|
texts = {}
|
||||||
for colitem, outcome in self.getitemoutcomepairs(Item.Skipped):
|
for colitem, outcome in self.getitemoutcomepairs(Skipped):
|
||||||
raisingtb = self.getlastvisible(outcome.excinfo.traceback)
|
raisingtb = self.getlastvisible(outcome.excinfo.traceback)
|
||||||
fn = raisingtb.frame.code.path
|
fn = raisingtb.frame.code.path
|
||||||
lineno = raisingtb.lineno
|
lineno = raisingtb.lineno
|
||||||
|
@ -251,7 +252,7 @@ class TerminalSession(Session):
|
||||||
def failures(self):
|
def failures(self):
|
||||||
if self.config.option.tbstyle == 'no':
|
if self.config.option.tbstyle == 'no':
|
||||||
return # skip the detailed failure reports altogether
|
return # skip the detailed failure reports altogether
|
||||||
l = self.getitemoutcomepairs(Item.Failed)
|
l = self.getitemoutcomepairs(Failed)
|
||||||
if l:
|
if l:
|
||||||
self.out.sep('_')
|
self.out.sep('_')
|
||||||
for colitem, outcome in l:
|
for colitem, outcome in l:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
from __future__ import generators
|
from __future__ import generators
|
||||||
import py
|
import py
|
||||||
from setupdata import setupdatadir
|
from setupdata import setupdatadir
|
||||||
|
from py.__.test.outcome import Skipped, Failed, Passed, Outcome
|
||||||
|
|
||||||
def setup_module(mod):
|
def setup_module(mod):
|
||||||
mod.datadir = setupdatadir()
|
mod.datadir = setupdatadir()
|
||||||
|
@ -205,7 +206,7 @@ def test_custom_python_collection_from_conftest():
|
||||||
out = py.std.cStringIO.StringIO()
|
out = py.std.cStringIO.StringIO()
|
||||||
session = config._getsessionclass()(config, out)
|
session = config._getsessionclass()(config, out)
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 2
|
assert len(l) == 2
|
||||||
finally:
|
finally:
|
||||||
old.chdir()
|
old.chdir()
|
||||||
|
@ -215,7 +216,7 @@ def test_custom_python_collection_from_conftest():
|
||||||
out = py.std.cStringIO.StringIO()
|
out = py.std.cStringIO.StringIO()
|
||||||
session = config._getsessionclass()(config, out)
|
session = config._getsessionclass()(config, out)
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 2
|
assert len(l) == 2
|
||||||
|
|
||||||
def test_custom_NONpython_collection_from_conftest():
|
def test_custom_NONpython_collection_from_conftest():
|
||||||
|
@ -252,7 +253,7 @@ def test_custom_NONpython_collection_from_conftest():
|
||||||
out = py.std.cStringIO.StringIO()
|
out = py.std.cStringIO.StringIO()
|
||||||
session = config._getsessionclass()(config, out)
|
session = config._getsessionclass()(config, out)
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
finally:
|
finally:
|
||||||
old.chdir()
|
old.chdir()
|
||||||
|
@ -262,7 +263,7 @@ def test_custom_NONpython_collection_from_conftest():
|
||||||
out = py.std.cStringIO.StringIO()
|
out = py.std.cStringIO.StringIO()
|
||||||
session = config._getsessionclass()(config, out)
|
session = config._getsessionclass()(config, out)
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
|
|
||||||
def test_order_of_execution_generator_same_codeline():
|
def test_order_of_execution_generator_same_codeline():
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
import py
|
import py
|
||||||
from py.__.test.doctest import DoctestText
|
from py.__.test.doctest import DoctestText
|
||||||
|
from py.__.test.outcome import Skipped, Failed, Passed, Outcome
|
||||||
|
|
||||||
def test_simple_docteststring():
|
def test_simple_docteststring():
|
||||||
testitem = DoctestText(name="dummy", parent=None)
|
testitem = DoctestText(name="dummy", parent=None)
|
||||||
|
@ -19,7 +20,7 @@ def test_simple_docteststring_failing():
|
||||||
>>> i + 1
|
>>> i + 1
|
||||||
2
|
2
|
||||||
""")
|
""")
|
||||||
py.test.raises(py.test.Item.Failed, "testitem.run()")
|
py.test.raises(Failed, "testitem.run()")
|
||||||
|
|
||||||
|
|
||||||
def test_collect_doctest_files_with_test_prefix():
|
def test_collect_doctest_files_with_test_prefix():
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import py
|
import py
|
||||||
from setupdata import setup_module # sets up global 'tmpdir'
|
from setupdata import setup_module # sets up global 'tmpdir'
|
||||||
|
from py.__.test.outcome import Skipped, Failed, Passed, Outcome
|
||||||
|
|
||||||
implied_options = {
|
implied_options = {
|
||||||
'--pdb': 'usepdb and nocapture',
|
'--pdb': 'usepdb and nocapture',
|
||||||
|
@ -44,9 +45,9 @@ def runfiletest(opts):
|
||||||
config = py.test.config._reparse(opts + [datadir/'filetest.py'])
|
config = py.test.config._reparse(opts + [datadir/'filetest.py'])
|
||||||
session = config.initsession()
|
session = config.initsession()
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 2
|
assert len(l) == 2
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert not l
|
assert not l
|
||||||
|
|
||||||
class TestKeywordSelection:
|
class TestKeywordSelection:
|
||||||
|
@ -56,11 +57,11 @@ class TestKeywordSelection:
|
||||||
'-k', keyword])
|
'-k', keyword])
|
||||||
session = config._getsessionclass()(config, py.std.sys.stdout)
|
session = config._getsessionclass()(config, py.std.sys.stdout)
|
||||||
session.main()
|
session.main()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
item = l[0][0]
|
item = l[0][0]
|
||||||
assert item.name == 'test_one'
|
assert item.name == 'test_one'
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Skipped)
|
l = session.getitemoutcomepairs(Skipped)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
|
|
||||||
def test_select_extra_keywords(self):
|
def test_select_extra_keywords(self):
|
||||||
|
@ -86,10 +87,10 @@ class TestKeywordSelection:
|
||||||
session = config._getsessionclass()(config, f)
|
session = config._getsessionclass()(config, f)
|
||||||
session.main()
|
session.main()
|
||||||
print "keyword", repr(keyword)
|
print "keyword", repr(keyword)
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
assert l[0][0].name == 'test_2'
|
assert l[0][0].name == 'test_2'
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Skipped)
|
l = session.getitemoutcomepairs(Skipped)
|
||||||
assert l[0][0].name == 'test_1'
|
assert l[0][0].name == 'test_1'
|
||||||
|
|
||||||
class TestTerminalSession:
|
class TestTerminalSession:
|
||||||
|
@ -104,13 +105,13 @@ class TestTerminalSession:
|
||||||
def test_terminal(self):
|
def test_terminal(self):
|
||||||
session = self.mainsession(datadir / 'filetest.py')
|
session = self.mainsession(datadir / 'filetest.py')
|
||||||
out = self.file.getvalue()
|
out = self.file.getvalue()
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 2
|
assert len(l) == 2
|
||||||
assert out.find('2 failed') != -1
|
assert out.find('2 failed') != -1
|
||||||
|
|
||||||
def test_syntax_error_module(self):
|
def test_syntax_error_module(self):
|
||||||
session = self.mainsession(datadir / 'syntax_error.py')
|
session = self.mainsession(datadir / 'syntax_error.py')
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
out = self.file.getvalue()
|
out = self.file.getvalue()
|
||||||
assert out.find(str('syntax_error.py')) != -1
|
assert out.find(str('syntax_error.py')) != -1
|
||||||
|
@ -120,9 +121,9 @@ class TestTerminalSession:
|
||||||
session = self.mainsession("--exitfirst",
|
session = self.mainsession("--exitfirst",
|
||||||
datadir / 'filetest.py')
|
datadir / 'filetest.py')
|
||||||
assert session.config.option.exitfirst
|
assert session.config.option.exitfirst
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert not l
|
assert not l
|
||||||
|
|
||||||
def test_collectonly(self):
|
def test_collectonly(self):
|
||||||
|
@ -131,7 +132,7 @@ class TestTerminalSession:
|
||||||
assert session.config.option.collectonly
|
assert session.config.option.collectonly
|
||||||
out = self.file.getvalue()
|
out = self.file.getvalue()
|
||||||
#print out
|
#print out
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
#if l:
|
#if l:
|
||||||
# x = l[0][1].excinfo
|
# x = l[0][1].excinfo
|
||||||
# print x.exconly()
|
# print x.exconly()
|
||||||
|
@ -195,7 +196,7 @@ class TestTerminalSession:
|
||||||
self._testmycapture = self._mycapture.reset()
|
self._testmycapture = self._mycapture.reset()
|
||||||
"""))
|
"""))
|
||||||
session = self.mainsession(o)
|
session = self.mainsession(o)
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
item = l[0][0]
|
item = l[0][0]
|
||||||
assert hasattr(item, '_testmycapture')
|
assert hasattr(item, '_testmycapture')
|
||||||
|
@ -250,9 +251,9 @@ class TestTerminalSession:
|
||||||
"""))
|
"""))
|
||||||
|
|
||||||
session = self.mainsession(o)
|
session = self.mainsession(o)
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 0
|
assert len(l) == 0
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Passed)
|
l = session.getitemoutcomepairs(Passed)
|
||||||
assert len(l) == 7
|
assert len(l) == 7
|
||||||
# also test listnames() here ...
|
# also test listnames() here ...
|
||||||
item, result = l[-1]
|
item, result = l[-1]
|
||||||
|
@ -273,7 +274,7 @@ class TestTerminalSession:
|
||||||
a = 1
|
a = 1
|
||||||
"""))
|
"""))
|
||||||
session = self.mainsession(o)
|
session = self.mainsession(o)
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 1
|
assert len(l) == 1
|
||||||
item, outcome = l[0]
|
item, outcome = l[0]
|
||||||
assert str(outcome.excinfo).find('does_not_work') != -1
|
assert str(outcome.excinfo).find('does_not_work') != -1
|
||||||
|
@ -284,7 +285,7 @@ class TestTerminalSession:
|
||||||
print 'Output of simulated "py.test brokenrepr.py":'
|
print 'Output of simulated "py.test brokenrepr.py":'
|
||||||
print out
|
print out
|
||||||
|
|
||||||
l = session.getitemoutcomepairs(py.test.Item.Failed)
|
l = session.getitemoutcomepairs(Failed)
|
||||||
assert len(l) == 2
|
assert len(l) == 2
|
||||||
assert out.find("""[Exception("Ha Ha fooled you, I'm a broken repr().") raised in repr()]""") != -1 #'
|
assert out.find("""[Exception("Ha Ha fooled you, I'm a broken repr().") raised in repr()]""") != -1 #'
|
||||||
assert out.find("[unknown exception raised in repr()]") != -1
|
assert out.find("[unknown exception raised in repr()]") != -1
|
||||||
|
|
Loading…
Reference in New Issue