[py-svn] r37862 - in py/trunk/py: . doc doc/example/pytest test test/rsession test/terminal test/testing
fijal at codespeak.net
fijal at codespeak.net
Sat Feb 3 13:14:50 CET 2007
Author: fijal
Date: Sat Feb 3 13:14:46 2007
New Revision: 37862
Added:
py/trunk/py/test/outcome.py
Modified:
py/trunk/py/__init__.py
py/trunk/py/doc/example/pytest/test_failures.py
py/trunk/py/doc/test_conftest.py
py/trunk/py/test/collect.py
py/trunk/py/test/item.py
py/trunk/py/test/raises.py
py/trunk/py/test/rsession/executor.py
py/trunk/py/test/rsession/rsession.py
py/trunk/py/test/session.py
py/trunk/py/test/terminal/remote.py
py/trunk/py/test/terminal/terminal.py
py/trunk/py/test/testing/test_collect.py
py/trunk/py/test/testing/test_doctest.py
py/trunk/py/test/testing/test_session.py
Log:
Move Skipped/Failed/Passed out of public namespace
Modified: py/trunk/py/__init__.py
==============================================================================
--- py/trunk/py/__init__.py (original)
+++ py/trunk/py/__init__.py Sat Feb 3 13:14:46 2007
@@ -27,6 +27,7 @@
'test.skip' : ('./test/item.py', 'skip'),
'test.fail' : ('./test/item.py', 'fail'),
'test.exit' : ('./test/session.py', 'exit'),
+ 'test.pdb' : ('./test/pdbplus.py', 'start_pdb'),
# configuration/initialization related test api
'test.config' : ('./test/config.py', 'config_per_process'),
Modified: py/trunk/py/doc/example/pytest/test_failures.py
==============================================================================
--- py/trunk/py/doc/example/pytest/test_failures.py (original)
+++ py/trunk/py/doc/example/pytest/test_failures.py Sat Feb 3 13:14:46 2007
@@ -1,12 +1,13 @@
import py
failure_demo = py.magic.autopath().dirpath('failure_demo.py')
+from py.__.test.outcome import Failed, Passed
def test_failure_demo_fails_properly():
config = py.test.config._reparse([failure_demo])
session = config.initsession()
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 21
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert not l
Modified: py/trunk/py/doc/test_conftest.py
==============================================================================
--- py/trunk/py/doc/test_conftest.py (original)
+++ py/trunk/py/doc/test_conftest.py Sat Feb 3 13:14:46 2007
@@ -1,5 +1,6 @@
import py
+from py.__.test.outcome import Skipped, Failed, Passed
def setup_module(mod):
mod.tmpdir = py.test.ensuretemp('docdoctest')
@@ -30,10 +31,10 @@
config = py.test.config._reparse([xtxt])
session = config.initsession()
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 0
- l = session.getitemoutcomepairs(py.test.Item.Passed)
- l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
+ l = session.getitemoutcomepairs(Passed)
+ l2 = session.getitemoutcomepairs(Skipped)
assert len(l+l2) == 2
def test_doctest_eol():
@@ -45,10 +46,10 @@
config = py.test.config._reparse([ytxt])
session = config.initsession()
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 0
- l = session.getitemoutcomepairs(py.test.Item.Passed)
- l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
+ l = session.getitemoutcomepairs(Passed)
+ l2 = session.getitemoutcomepairs(Skipped)
assert len(l+l2) == 2
def test_js_ignore():
@@ -63,10 +64,10 @@
config = py.test.config._reparse([xtxt])
session = config.initsession()
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 0
- l = session.getitemoutcomepairs(py.test.Item.Passed)
- l2 = session.getitemoutcomepairs(py.test.Item.Skipped)
+ l = session.getitemoutcomepairs(Passed)
+ l2 = session.getitemoutcomepairs(Skipped)
assert len(l+l2) == 3
def test_resolve_linkrole():
Modified: py/trunk/py/test/collect.py
==============================================================================
--- py/trunk/py/test/collect.py (original)
+++ py/trunk/py/test/collect.py Sat Feb 3 13:14:46 2007
@@ -56,27 +56,6 @@
Generator = configproperty('Generator')
_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):
return "<%s %r>" %(self.__class__.__name__, self.name)
Modified: py/trunk/py/test/item.py
==============================================================================
--- py/trunk/py/test/item.py (original)
+++ py/trunk/py/test/item.py Sat Feb 3 13:14:46 2007
@@ -1,6 +1,7 @@
import py
from inspect import isclass, ismodule
+from py.__.test.outcome import Skipped, Failed, Passed
_dummy = object()
@@ -101,10 +102,10 @@
def skip(msg="unknown reason"):
""" skip with the given Message. """
__tracebackhide__ = True
- raise py.test.Item.Skipped(msg=msg)
+ raise Skipped(msg=msg)
def fail(msg="unknown failure"):
""" fail with the given Message. """
__tracebackhide__ = True
- raise py.test.Item.Failed(msg=msg)
+ raise Failed(msg=msg)
Added: py/trunk/py/test/outcome.py
==============================================================================
--- (empty file)
+++ py/trunk/py/test/outcome.py Sat Feb 3 13:14:46 2007
@@ -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
Modified: py/trunk/py/test/raises.py
==============================================================================
--- py/trunk/py/test/raises.py (original)
+++ py/trunk/py/test/raises.py Sat Feb 3 13:14:46 2007
@@ -1,6 +1,6 @@
import sys
import py
-ExceptionFailure = py.test.Item.ExceptionFailure
+from py.__.test.outcome import ExceptionFailure
def raises(ExpectedException, *args, **kwargs):
""" raise AssertionError, if target code does not raise the expected
Modified: py/trunk/py/test/rsession/executor.py
==============================================================================
--- py/trunk/py/test/rsession/executor.py (original)
+++ py/trunk/py/test/rsession/executor.py Sat Feb 3 13:14:46 2007
@@ -6,6 +6,7 @@
from py.__.test.rsession.outcome import Outcome, ReprOutcome
from py.__.test.rsession.box import Box
from py.__.test.rsession import report
+from py.__.test.outcome import Skipped, Failed
class RunExecutor(object):
""" Same as in executor, but just running run
@@ -26,7 +27,7 @@
try:
self.run()
outcome = Outcome()
- except py.test.Item.Skipped, e:
+ except Skipped, e:
outcome = Outcome(skipped=str(e))
except (KeyboardInterrupt, SystemExit):
raise
Modified: py/trunk/py/test/rsession/rsession.py
==============================================================================
--- py/trunk/py/test/rsession/rsession.py (original)
+++ py/trunk/py/test/rsession/rsession.py Sat Feb 3 13:14:46 2007
@@ -17,6 +17,7 @@
box_runner
from py.__.test.rsession.reporter import LocalReporter, RemoteReporter
from py.__.test.session import Session
+from py.__.test.outcome import Skipped, Failed
class AbstractSession(Session):
"""
@@ -84,7 +85,7 @@
excinfo, item = data
if excinfo is None:
reporter(report.ItemStart(item))
- elif excinfo.type is py.test.Item.Skipped:
+ elif excinfo.type is Skipped:
reporter(report.SkippedTryiter(excinfo, item))
else:
reporter(report.FailedTryiter(excinfo, item))
Modified: py/trunk/py/test/session.py
==============================================================================
--- py/trunk/py/test/session.py (original)
+++ py/trunk/py/test/session.py Sat Feb 3 13:14:46 2007
@@ -1,4 +1,5 @@
import py
+from py.__.test.outcome import Outcome, Failed, Passed, Skipped
class Session(object):
"""
@@ -82,17 +83,17 @@
outcome = self.run(colitem)
except (KeyboardInterrupt, Exit):
raise
- except colitem.Outcome, outcome:
+ except Outcome, outcome:
if outcome.excinfo is None:
outcome.excinfo = py.code.ExceptionInfo()
except:
excinfo = py.code.ExceptionInfo()
- outcome = colitem.Failed(excinfo=excinfo)
+ outcome = Failed(excinfo=excinfo)
assert (outcome is None or
- isinstance(outcome, (list, colitem.Outcome)))
+ isinstance(outcome, (list, Outcome)))
finally:
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)
finally:
colitem.finishcapture()
@@ -104,7 +105,7 @@
colitem.skipbykeyword(self.config.option.keyword)
res = colitem.run()
if res is None:
- return py.test.Item.Passed()
+ return Passed()
elif not isinstance(res, (list, tuple)):
raise TypeError("%r.run() returned neither "
"list, tuple nor None: %r" % (colitem, res))
Modified: py/trunk/py/test/terminal/remote.py
==============================================================================
--- py/trunk/py/test/terminal/remote.py (original)
+++ py/trunk/py/test/terminal/remote.py Sat Feb 3 13:14:46 2007
@@ -1,7 +1,8 @@
from __future__ import generators
import py
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={}):
""" wait until project files are changed. """
@@ -135,6 +136,6 @@
session.shouldclose = channel.isclosed
print "SLAVE: starting 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]
channel.send(failures)
Modified: py/trunk/py/test/terminal/terminal.py
==============================================================================
--- py/trunk/py/test/terminal/terminal.py (original)
+++ py/trunk/py/test/terminal/terminal.py Sat Feb 3 13:14:46 2007
@@ -4,6 +4,7 @@
Item = py.test.Item
from py.__.test.terminal.out import getout
from py.__.test.representation import Presenter
+from py.__.test.outcome import Skipped, Passed, Failed
def getrelpath(source, dest):
base = source.common(dest)
@@ -167,14 +168,14 @@
# progress information
# --------------------
typemap = {
- Item.Passed: '.',
- Item.Skipped: 's',
- Item.Failed: 'F',
+ Passed: '.',
+ Skipped: 's',
+ Failed: 'F',
}
namemap = {
- Item.Passed: 'ok',
- Item.Skipped: 'SKIP',
- Item.Failed: 'FAIL',
+ Passed: 'ok',
+ Skipped: 'SKIP',
+ Failed: 'FAIL',
}
def repr_progress_short_result(self, item, outcome):
@@ -194,11 +195,11 @@
return 'UNKNOWN'
def repr_progress_module_result(self, item, outcome):
- if isinstance(outcome, py.test.Item.Failed):
+ if isinstance(outcome, Failed):
return "FAILED TO LOAD MODULE"
- elif isinstance(outcome, py.test.Item.Skipped):
+ elif isinstance(outcome, Skipped):
return "skipped"
- elif not isinstance(outcome, (list, py.test.Item.Passed)):
+ elif not isinstance(outcome, (list, Passed)):
return "?"
# --------------------
@@ -207,7 +208,7 @@
def summaryline(self):
outlist = []
sum = 0
- for typ in Item.Passed, Item.Failed, Item.Skipped:
+ for typ in Passed, Failed, Skipped:
l = self.getitemoutcomepairs(typ)
if l:
outlist.append('%d %s' % (len(l), typ.__name__.lower()))
@@ -232,7 +233,7 @@
def skippedreasons(self):
texts = {}
- for colitem, outcome in self.getitemoutcomepairs(Item.Skipped):
+ for colitem, outcome in self.getitemoutcomepairs(Skipped):
raisingtb = self.getlastvisible(outcome.excinfo.traceback)
fn = raisingtb.frame.code.path
lineno = raisingtb.lineno
@@ -251,7 +252,7 @@
def failures(self):
if self.config.option.tbstyle == 'no':
return # skip the detailed failure reports altogether
- l = self.getitemoutcomepairs(Item.Failed)
+ l = self.getitemoutcomepairs(Failed)
if l:
self.out.sep('_')
for colitem, outcome in l:
Modified: py/trunk/py/test/testing/test_collect.py
==============================================================================
--- py/trunk/py/test/testing/test_collect.py (original)
+++ py/trunk/py/test/testing/test_collect.py Sat Feb 3 13:14:46 2007
@@ -1,6 +1,7 @@
from __future__ import generators
import py
from setupdata import setupdatadir
+from py.__.test.outcome import Skipped, Failed, Passed, Outcome
def setup_module(mod):
mod.datadir = setupdatadir()
@@ -205,7 +206,7 @@
out = py.std.cStringIO.StringIO()
session = config._getsessionclass()(config, out)
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 2
finally:
old.chdir()
@@ -215,7 +216,7 @@
out = py.std.cStringIO.StringIO()
session = config._getsessionclass()(config, out)
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 2
def test_custom_NONpython_collection_from_conftest():
@@ -252,7 +253,7 @@
out = py.std.cStringIO.StringIO()
session = config._getsessionclass()(config, out)
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 1
finally:
old.chdir()
@@ -262,7 +263,7 @@
out = py.std.cStringIO.StringIO()
session = config._getsessionclass()(config, out)
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 1
def test_order_of_execution_generator_same_codeline():
Modified: py/trunk/py/test/testing/test_doctest.py
==============================================================================
--- py/trunk/py/test/testing/test_doctest.py (original)
+++ py/trunk/py/test/testing/test_doctest.py Sat Feb 3 13:14:46 2007
@@ -1,6 +1,7 @@
import py
from py.__.test.doctest import DoctestText
+from py.__.test.outcome import Skipped, Failed, Passed, Outcome
def test_simple_docteststring():
testitem = DoctestText(name="dummy", parent=None)
@@ -19,7 +20,7 @@
>>> i + 1
2
""")
- py.test.raises(py.test.Item.Failed, "testitem.run()")
+ py.test.raises(Failed, "testitem.run()")
def test_collect_doctest_files_with_test_prefix():
Modified: py/trunk/py/test/testing/test_session.py
==============================================================================
--- py/trunk/py/test/testing/test_session.py (original)
+++ py/trunk/py/test/testing/test_session.py Sat Feb 3 13:14:46 2007
@@ -1,5 +1,6 @@
import py
from setupdata import setup_module # sets up global 'tmpdir'
+from py.__.test.outcome import Skipped, Failed, Passed, Outcome
implied_options = {
'--pdb': 'usepdb and nocapture',
@@ -44,9 +45,9 @@
config = py.test.config._reparse(opts + [datadir/'filetest.py'])
session = config.initsession()
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 2
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert not l
class TestKeywordSelection:
@@ -56,11 +57,11 @@
'-k', keyword])
session = config._getsessionclass()(config, py.std.sys.stdout)
session.main()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 1
item = l[0][0]
assert item.name == 'test_one'
- l = session.getitemoutcomepairs(py.test.Item.Skipped)
+ l = session.getitemoutcomepairs(Skipped)
assert len(l) == 1
def test_select_extra_keywords(self):
@@ -86,10 +87,10 @@
session = config._getsessionclass()(config, f)
session.main()
print "keyword", repr(keyword)
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 1
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'
class TestTerminalSession:
@@ -104,13 +105,13 @@
def test_terminal(self):
session = self.mainsession(datadir / 'filetest.py')
out = self.file.getvalue()
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 2
assert out.find('2 failed') != -1
def test_syntax_error_module(self):
session = self.mainsession(datadir / 'syntax_error.py')
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 1
out = self.file.getvalue()
assert out.find(str('syntax_error.py')) != -1
@@ -120,9 +121,9 @@
session = self.mainsession("--exitfirst",
datadir / 'filetest.py')
assert session.config.option.exitfirst
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 1
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert not l
def test_collectonly(self):
@@ -131,7 +132,7 @@
assert session.config.option.collectonly
out = self.file.getvalue()
#print out
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
#if l:
# x = l[0][1].excinfo
# print x.exconly()
@@ -195,7 +196,7 @@
self._testmycapture = self._mycapture.reset()
"""))
session = self.mainsession(o)
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 1
item = l[0][0]
assert hasattr(item, '_testmycapture')
@@ -250,9 +251,9 @@
"""))
session = self.mainsession(o)
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 0
- l = session.getitemoutcomepairs(py.test.Item.Passed)
+ l = session.getitemoutcomepairs(Passed)
assert len(l) == 7
# also test listnames() here ...
item, result = l[-1]
@@ -273,7 +274,7 @@
a = 1
"""))
session = self.mainsession(o)
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 1
item, outcome = l[0]
assert str(outcome.excinfo).find('does_not_work') != -1
@@ -284,7 +285,7 @@
print 'Output of simulated "py.test brokenrepr.py":'
print out
- l = session.getitemoutcomepairs(py.test.Item.Failed)
+ l = session.getitemoutcomepairs(Failed)
assert len(l) == 2
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
More information about the pytest-commit
mailing list