[svn r63584] killing more code, simplifying running of tests.
--HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									cca19f1183
								
							
						
					
					
						commit
						79793d50e2
					
				|  | @ -67,13 +67,12 @@ class CollectionReport(BaseReport): | ||||||
|     """ Collection Report. """ |     """ Collection Report. """ | ||||||
|     skipped = failed = passed = False  |     skipped = failed = passed = False  | ||||||
| 
 | 
 | ||||||
|     def __init__(self, colitem, result, excinfo=None, when=None, outerr=None): |     def __init__(self, colitem, result, excinfo=None, outerr=None): | ||||||
|         self.colitem = colitem  |         self.colitem = colitem  | ||||||
|         if not excinfo: |         if not excinfo: | ||||||
|             self.passed = True |             self.passed = True | ||||||
|             self.result = result  |             self.result = result  | ||||||
|         else: |         else: | ||||||
|             self.when = when  |  | ||||||
|             self.outerr = outerr |             self.outerr = outerr | ||||||
|             self.longrepr = self.colitem._repr_failure_py(excinfo, outerr) |             self.longrepr = self.colitem._repr_failure_py(excinfo, outerr) | ||||||
|             if excinfo.errisinstance(Skipped): |             if excinfo.errisinstance(Skipped): | ||||||
|  |  | ||||||
|  | @ -25,21 +25,20 @@ class RobustRun(object): | ||||||
|         return "<%s colitem=%s>" %(self.__class__.__name__, self.colitem) |         return "<%s colitem=%s>" %(self.__class__.__name__, self.colitem) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ItemRunner(RobustRun): | def basic_run_report(item, pdb=None): | ||||||
|     def run(self): |     """ return report about setting up and running a test item. """  | ||||||
|         """ return result of running setup, execution, teardown procedures. """  |  | ||||||
|     excinfo = None |     excinfo = None | ||||||
|         capture = self.getcapture() |     capture = item.config._getcapture() | ||||||
|     try: |     try: | ||||||
|         try: |         try: | ||||||
|             when = "setup" |             when = "setup" | ||||||
|                 self.colitem.config._setupstate.prepare(self.colitem) |             item.config._setupstate.prepare(item) | ||||||
|             try: |             try: | ||||||
|                 when = "execute" |                 when = "execute" | ||||||
|                     res = self.colitem.runtest() |                 res = item.runtest() | ||||||
|             finally: |             finally: | ||||||
|                 when = "teardown" |                 when = "teardown" | ||||||
|                     self.colitem.config._setupstate.teardown_exact(self.colitem) |                 item.config._setupstate.teardown_exact(item) | ||||||
|                 when = "execute" |                 when = "execute" | ||||||
|         finally: |         finally: | ||||||
|             outerr = capture.reset() |             outerr = capture.reset() | ||||||
|  | @ -47,48 +46,28 @@ class ItemRunner(RobustRun): | ||||||
|         raise |         raise | ||||||
|     except:  |     except:  | ||||||
|         excinfo = py.code.ExceptionInfo() |         excinfo = py.code.ExceptionInfo() | ||||||
|         return self.makereport(when, excinfo, outerr) |     testrep = item.config.pytestplugins.call_firstresult( | ||||||
| 
 |         "pytest_item_makereport", item=item,  | ||||||
|     def makereport(self, when, excinfo, outerr): |  | ||||||
|         testrep = self.colitem.config.pytestplugins.call_firstresult( |  | ||||||
|             "pytest_item_makereport", item=self.colitem,  |  | ||||||
|         excinfo=excinfo, when=when, outerr=outerr) |         excinfo=excinfo, when=when, outerr=outerr) | ||||||
|         if self.pdb and testrep.failed: |     if pdb and testrep.failed: | ||||||
|         tw = py.io.TerminalWriter() |         tw = py.io.TerminalWriter() | ||||||
|         testrep.toterminal(tw) |         testrep.toterminal(tw) | ||||||
|             self.pdb(excinfo) |         pdb(excinfo) | ||||||
|     return testrep |     return testrep | ||||||
| 
 | 
 | ||||||
| class CollectorRunner(RobustRun): | def basic_collect_report(collector): | ||||||
|     def run(self): |     excinfo = res = None | ||||||
|         """ return result of running setup, execution, teardown procedures. """  |  | ||||||
|         excinfo = None |  | ||||||
|         res = NORESULT |  | ||||||
|         capture = self.getcapture() |  | ||||||
|     try: |     try: | ||||||
|  |         capture = collector.config._getcapture() | ||||||
|         try: |         try: | ||||||
|                 res = self.colitem._memocollect() |             res = collector._memocollect() | ||||||
|         finally: |         finally: | ||||||
|             outerr = capture.reset() |             outerr = capture.reset() | ||||||
|     except (Exit, KeyboardInterrupt): |     except (Exit, KeyboardInterrupt): | ||||||
|         raise |         raise | ||||||
|     except:  |     except:  | ||||||
|         excinfo = py.code.ExceptionInfo() |         excinfo = py.code.ExceptionInfo() | ||||||
|         return self.makereport(res, "execute", excinfo, outerr) |     return event.CollectionReport(collector, res, excinfo, outerr) | ||||||
| 
 |  | ||||||
|     def makereport(self, res, when, excinfo, outerr): |  | ||||||
|         return event.CollectionReport(self.colitem, res, excinfo, when, outerr) |  | ||||||
|     |  | ||||||
| NORESULT = object() |  | ||||||
| #  |  | ||||||
| # public entrypoints / objects  |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| def basic_collect_report(item): |  | ||||||
|     return CollectorRunner(item).run() |  | ||||||
|      |  | ||||||
| def basic_run_report(item, pdb=None): |  | ||||||
|     return ItemRunner(item, pdb=pdb).run() |  | ||||||
| 
 | 
 | ||||||
| from cPickle import Pickler, Unpickler | from cPickle import Pickler, Unpickler | ||||||
| from cStringIO import StringIO | from cStringIO import StringIO | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue