[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