[svn r38747] hum, a last-minute namespace change: i missed
that fijal didn't move py.test.Item|Function to the py.test.collect namespace at the time. a pypy fix will follow shortly after i merged the dist. --HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									1bddcfee3d
								
							
						
					
					
						commit
						3ab95e5672
					
				|  | @ -9,8 +9,8 @@ version = "0.9.0-beta" | ||||||
| 
 | 
 | ||||||
| initpkg(__name__, | initpkg(__name__, | ||||||
|     description = "py lib: agile development and test support library", |     description = "py lib: agile development and test support library", | ||||||
|     revision = int('$LastChangedRevision: 38598 $'.split(':')[1][:-1]), |     revision = int('$LastChangedRevision: 38747 $'.split(':')[1][:-1]), | ||||||
|     lastchangedate = '$LastChangedDate: 2007-02-12 17:57:45 +0100 (Mon, 12 Feb 2007) $', |     lastchangedate = '$LastChangedDate: 2007-02-13 20:21:53 +0100 (Tue, 13 Feb 2007) $', | ||||||
|     version = version,  |     version = version,  | ||||||
|     url = "http://codespeak.net/py", |     url = "http://codespeak.net/py", | ||||||
|     download_url = "http://codespeak.net/download/py/py-%s.tar.gz" %(version,),  |     download_url = "http://codespeak.net/download/py/py-%s.tar.gz" %(version,),  | ||||||
|  | @ -43,8 +43,8 @@ initpkg(__name__, | ||||||
|     'test.collect.Class'     : ('./test/collect.py', 'Class'), |     'test.collect.Class'     : ('./test/collect.py', 'Class'), | ||||||
|     'test.collect.Instance'  : ('./test/collect.py', 'Instance'), |     'test.collect.Instance'  : ('./test/collect.py', 'Instance'), | ||||||
|     'test.collect.Generator' : ('./test/collect.py', 'Generator'), |     'test.collect.Generator' : ('./test/collect.py', 'Generator'), | ||||||
|     'test.Item'              : ('./test/item.py', 'Item'), |     'test.collect.Item'      : ('./test/item.py', 'Item'), | ||||||
|     'test.Function'          : ('./test/item.py', 'Function'), |     'test.collect.Function'  : ('./test/item.py', 'Function'), | ||||||
| 
 | 
 | ||||||
|     # thread related API (still in early design phase) |     # thread related API (still in early design phase) | ||||||
|     '_thread.WorkerPool'      : ('./thread/pool.py', 'WorkerPool'), |     '_thread.WorkerPool'      : ('./thread/pool.py', 'WorkerPool'), | ||||||
|  |  | ||||||
|  | @ -87,13 +87,13 @@ def _checkskip(lpath): | ||||||
|                 py.test.skip("html file is up to date, use --forcegen to regenerate") |                 py.test.skip("html file is up to date, use --forcegen to regenerate") | ||||||
|                 #return [] # no need to rebuild  |                 #return [] # no need to rebuild  | ||||||
| 
 | 
 | ||||||
| class ReSTSyntaxTest(py.test.Item):  | class ReSTSyntaxTest(py.test.collect.Item):  | ||||||
|     def run(self): |     def run(self): | ||||||
|         mypath = self.fspath  |         mypath = self.fspath  | ||||||
|         _checkskip(mypath) |         _checkskip(mypath) | ||||||
|         restcheck(py.path.svnwc(mypath)) |         restcheck(py.path.svnwc(mypath)) | ||||||
| 
 | 
 | ||||||
| class DoctestText(py.test.Item):  | class DoctestText(py.test.collect.Item):  | ||||||
|     def run(self):  |     def run(self):  | ||||||
|         # XXX quite nasty... but it works (fixes win32 issues) |         # XXX quite nasty... but it works (fixes win32 issues) | ||||||
|         s = self._normalize_linesep() |         s = self._normalize_linesep() | ||||||
|  | @ -141,7 +141,7 @@ class LinkCheckerMaker(py.test.collect.Collector): | ||||||
|             if tryfn == name:  |             if tryfn == name:  | ||||||
|                 return CheckLink(name, parent=self, args=(tryfn, path, lineno), obj=call) |                 return CheckLink(name, parent=self, args=(tryfn, path, lineno), obj=call) | ||||||
|        |        | ||||||
| class CheckLink(py.test.Function):  | class CheckLink(py.test.collect.Function):  | ||||||
|     def setup(self):  |     def setup(self):  | ||||||
|         pass  |         pass  | ||||||
|     def teardown(self):  |     def teardown(self):  | ||||||
|  |  | ||||||
|  | @ -254,7 +254,7 @@ serve some immediate purposes like paramtrized tests. | ||||||
| The other extension possibility goes deeper into the machinery  | The other extension possibility goes deeper into the machinery  | ||||||
| and allows you to specify a custom test ``Item`` class which  | and allows you to specify a custom test ``Item`` class which  | ||||||
| is responsible for setting up and executing an underlying  | is responsible for setting up and executing an underlying  | ||||||
| test.  [XXX not working: You can integrate your custom ``py.test.Item`` subclass  | test.  [XXX not working: You can integrate your custom ``py.test.collect.Item`` subclass  | ||||||
| by binding an ``Item`` name to a test class.]  Or you can  | by binding an ``Item`` name to a test class.]  Or you can  | ||||||
| extend the collection process for a whole directory tree  | extend the collection process for a whole directory tree  | ||||||
| by putting Items in a ``conftest.py`` configuration file.  | by putting Items in a ``conftest.py`` configuration file.  | ||||||
|  |  | ||||||
|  | @ -198,7 +198,7 @@ class Collector(object): | ||||||
|             cases.  |             cases.  | ||||||
|         """  |         """  | ||||||
|         if yieldtype is None:  |         if yieldtype is None:  | ||||||
|             yieldtype = py.test.Item  |             yieldtype = py.test.collect.Item  | ||||||
|         if isinstance(self, yieldtype): |         if isinstance(self, yieldtype): | ||||||
|             try: |             try: | ||||||
|                 self._skipbykeyword(keyword) |                 self._skipbykeyword(keyword) | ||||||
|  | @ -208,7 +208,7 @@ class Collector(object): | ||||||
|                     excinfo = py.code.ExceptionInfo() |                     excinfo = py.code.ExceptionInfo() | ||||||
|                     reporterror((excinfo, self)) |                     reporterror((excinfo, self)) | ||||||
|         else: |         else: | ||||||
|             if not isinstance(self, py.test.Item): |             if not isinstance(self, py.test.collect.Item): | ||||||
|                 try: |                 try: | ||||||
|                     if reporterror is not None: |                     if reporterror is not None: | ||||||
|                         reporterror((None, self)) |                         reporterror((None, self)) | ||||||
|  | @ -431,7 +431,7 @@ class Class(PyCollectorMixin, Collector): | ||||||
|         except IOError: |         except IOError: | ||||||
|             pass |             pass | ||||||
|         # fall back... |         # fall back... | ||||||
|         for x in self._tryiter((py.test.collect.Generator, py.test.Item)): |         for x in self._tryiter((py.test.collect.Generator, py.test.collect.Item)): | ||||||
|             return x._getsortvalue() |             return x._getsortvalue() | ||||||
| 
 | 
 | ||||||
| class Instance(PyCollectorMixin, Collector):  | class Instance(PyCollectorMixin, Collector):  | ||||||
|  |  | ||||||
|  | @ -5,7 +5,7 @@ DoctestFile = py.test.collect.DoctestFile | ||||||
| Directory = py.test.collect.Directory | Directory = py.test.collect.Directory | ||||||
| Class = py.test.collect.Class | Class = py.test.collect.Class | ||||||
| Generator = py.test.collect.Generator | Generator = py.test.collect.Generator | ||||||
| Function = py.test.Function | Function = py.test.collect.Function | ||||||
| Instance = py.test.collect.Instance | Instance = py.test.collect.Instance | ||||||
| 
 | 
 | ||||||
| conf_iocapture = "fd" # overridable from conftest.py  | conf_iocapture = "fd" # overridable from conftest.py  | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| import py | import py | ||||||
| 
 | 
 | ||||||
| class DoctestText(py.test.Item): | class DoctestText(py.test.collect.Item): | ||||||
| 
 | 
 | ||||||
|     def _setcontent(self, content): |     def _setcontent(self, content): | ||||||
|         self._content = content  |         self._content = content  | ||||||
|  |  | ||||||
|  | @ -40,7 +40,7 @@ class Presenter(object): | ||||||
|             self.out.line(prefix + source[i]) |             self.out.line(prefix + source[i]) | ||||||
| 
 | 
 | ||||||
|     def repr_item_info(self, item): |     def repr_item_info(self, item): | ||||||
|         """ This method represents py.test.Item info (path and module) |         """ This method represents py.test.collect.Item info (path and module) | ||||||
|         """ |         """ | ||||||
|         root = item.fspath  |         root = item.fspath  | ||||||
|         modpath = item._getmodpath()  |         modpath = item._getmodpath()  | ||||||
|  |  | ||||||
|  | @ -44,7 +44,7 @@ class RunExecutor(object): | ||||||
|                 excinfo = e.excinfo |                 excinfo = e.excinfo | ||||||
|             else: |             else: | ||||||
|                 excinfo = py.code.ExceptionInfo() |                 excinfo = py.code.ExceptionInfo() | ||||||
|                 if isinstance(self.item, py.test.Function):  |                 if isinstance(self.item, py.test.collect.Function):  | ||||||
|                     fun = self.item.obj # hope this is stable  |                     fun = self.item.obj # hope this is stable  | ||||||
|                     code = py.code.Code(fun) |                     code = py.code.Code(fun) | ||||||
|                     excinfo.traceback = excinfo.traceback.cut( |                     excinfo.traceback = excinfo.traceback.cut( | ||||||
|  | @ -82,7 +82,7 @@ class ApigenExecutor(RunExecutor): | ||||||
|         """ We want to trace *only* function objects here. Unsure |         """ We want to trace *only* function objects here. Unsure | ||||||
|         what to do with custom collectors at all |         what to do with custom collectors at all | ||||||
|         """ |         """ | ||||||
|         if hasattr(self.item, 'obj') and type(self.item) is py.test.Function: |         if hasattr(self.item, 'obj') and type(self.item) is py.test.collect.Function: | ||||||
|             self.item.execute = self.wrap_underlaying |             self.item.execute = self.wrap_underlaying | ||||||
|         self.item.run() |         self.item.run() | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ def basic_report(msg_type, message): | ||||||
| #    pass | #    pass | ||||||
| 
 | 
 | ||||||
| ##def report_error(excinfo): | ##def report_error(excinfo): | ||||||
| ##    if isinstance(excinfo, py.test.Item.Skipped): | ##    if isinstance(excinfo, py.test.collect.Item.Skipped): | ||||||
| ##        # we need to dispatch this info | ##        # we need to dispatch this info | ||||||
| ##        report(Skipped(excinfo)) | ##        report(Skipped(excinfo)) | ||||||
| ##    else: | ##    else: | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ def setup_module(mod): | ||||||
|     if py.std.sys.platform == "win32": |     if py.std.sys.platform == "win32": | ||||||
|         py.test.skip("skipping executor tests (some require os.fork)") |         py.test.skip("skipping executor tests (some require os.fork)") | ||||||
| 
 | 
 | ||||||
| class Item(py.test.Item): | class Item(py.test.collect.Item): | ||||||
|     def __init__(self, name, config): |     def __init__(self, name, config): | ||||||
|         super(Item, self).__init__(name) |         super(Item, self).__init__(name) | ||||||
|         self._config = config |         self._config = config | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ class NonWorkingChannel(object): | ||||||
|     def _getremoteerror(self): |     def _getremoteerror(self): | ||||||
|         return "blah" |         return "blah" | ||||||
| 
 | 
 | ||||||
| class Item(py.test.Item): | class Item(py.test.collect.Item): | ||||||
|     def _get_collector_trail(self): |     def _get_collector_trail(self): | ||||||
|         return (self.name,) |         return (self.name,) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -20,7 +20,7 @@ class Session(object): | ||||||
| 
 | 
 | ||||||
|     def footer(self, colitems): |     def footer(self, colitems): | ||||||
|         """ teardown any resources after a test run. """  |         """ teardown any resources after a test run. """  | ||||||
|         py.test.Function._state.teardown_all() |         py.test.collect.Function._state.teardown_all() | ||||||
|         if not self.config.option.nomagic: |         if not self.config.option.nomagic: | ||||||
|             py.magic.revoke(assertion=1) |             py.magic.revoke(assertion=1) | ||||||
| 
 | 
 | ||||||
|  | @ -99,9 +99,9 @@ class Session(object): | ||||||
|             colitem.finishcapture() |             colitem.finishcapture() | ||||||
| 
 | 
 | ||||||
|     def run(self, colitem):  |     def run(self, colitem):  | ||||||
|         if self.config.option.collectonly and isinstance(colitem, py.test.Item):  |         if self.config.option.collectonly and isinstance(colitem, py.test.collect.Item):  | ||||||
|             return  |             return  | ||||||
|         if isinstance(colitem, py.test.Item):  |         if isinstance(colitem, py.test.collect.Item):  | ||||||
|             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:  | ||||||
|  |  | ||||||
|  | @ -75,7 +75,7 @@ class TerminalSession(Session): | ||||||
| 
 | 
 | ||||||
|     def start_Item(self, colitem):  |     def start_Item(self, colitem):  | ||||||
|         if self.config.option.verbose >= 1:  |         if self.config.option.verbose >= 1:  | ||||||
|             if isinstance(colitem, py.test.Item):  |             if isinstance(colitem, py.test.collect.Item):  | ||||||
|                 realpath, lineno = colitem._getpathlineno() |                 realpath, lineno = colitem._getpathlineno() | ||||||
|                 location = "%s:%d" % (realpath.basename, lineno+1) |                 location = "%s:%d" % (realpath.basename, lineno+1) | ||||||
|                 self.out.write("%-20s %s " % (location, colitem._getmodpath())) |                 self.out.write("%-20s %s " % (location, colitem._getmodpath())) | ||||||
|  | @ -100,7 +100,7 @@ class TerminalSession(Session): | ||||||
|             resultstring = self.repr_progress_module_result(colitem, outcome) |             resultstring = self.repr_progress_module_result(colitem, outcome) | ||||||
|             if resultstring: |             if resultstring: | ||||||
|                 self.out.line(" - " + resultstring) |                 self.out.line(" - " + resultstring) | ||||||
|         if isinstance(colitem, py.test.Item):  |         if isinstance(colitem, py.test.collect.Item):  | ||||||
|             if self.config.option.verbose >= 1:  |             if self.config.option.verbose >= 1:  | ||||||
|                 resultstring = self.repr_progress_long_result(colitem, outcome) |                 resultstring = self.repr_progress_long_result(colitem, outcome) | ||||||
|                 resultstring += " (%.2f)" % (colitem.elapsedtime,) |                 resultstring += " (%.2f)" % (colitem.elapsedtime,) | ||||||
|  |  | ||||||
|  | @ -109,7 +109,7 @@ class Testsomeclass: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #class TestWithCustomItem: | #class TestWithCustomItem: | ||||||
| #    class Item(py.test.Item): | #    class Item(py.test.collect.Item): | ||||||
| #        flag = [] | #        flag = [] | ||||||
| #        def execute(self, target, *args): | #        def execute(self, target, *args): | ||||||
| #            self.flag.append(42) | #            self.flag.append(42) | ||||||
|  | @ -146,8 +146,8 @@ def test_generative_simple(): | ||||||
|     l2 = generator.run()  |     l2 = generator.run()  | ||||||
|     assert len(l2) == 2  |     assert len(l2) == 2  | ||||||
|     l2 = generator.multijoin(l2)  |     l2 = generator.multijoin(l2)  | ||||||
|     assert isinstance(l2[0], py.test.Function) |     assert isinstance(l2[0], py.test.collect.Function) | ||||||
|     assert isinstance(l2[1], py.test.Function) |     assert isinstance(l2[1], py.test.collect.Function) | ||||||
|     assert l2[0].name == '[0]' |     assert l2[0].name == '[0]' | ||||||
|     assert l2[1].name == '[1]' |     assert l2[1].name == '[1]' | ||||||
| 
 | 
 | ||||||
|  | @ -162,8 +162,8 @@ def test_generative_simple(): | ||||||
|     l2 = generator.run()  |     l2 = generator.run()  | ||||||
|     assert len(l2) == 2  |     assert len(l2) == 2  | ||||||
|     l2 = generator.multijoin(l2)  |     l2 = generator.multijoin(l2)  | ||||||
|     assert isinstance(l2[0], py.test.Function) |     assert isinstance(l2[0], py.test.collect.Function) | ||||||
|     assert isinstance(l2[1], py.test.Function) |     assert isinstance(l2[1], py.test.collect.Function) | ||||||
|     assert l2[0].name == '[0]' |     assert l2[0].name == '[0]' | ||||||
|     assert l2[1].name == '[1]' |     assert l2[1].name == '[1]' | ||||||
|     |     | ||||||
|  | @ -171,7 +171,7 @@ def test_custom_python_collection_from_conftest(): | ||||||
|     o = tmpdir.ensure('customconfigtest', dir=1) |     o = tmpdir.ensure('customconfigtest', dir=1) | ||||||
|     o.ensure('conftest.py').write("""if 1: |     o.ensure('conftest.py').write("""if 1: | ||||||
|         import py |         import py | ||||||
|         class MyFunction(py.test.Function): |         class MyFunction(py.test.collect.Function): | ||||||
|             pass |             pass | ||||||
|         class Directory(py.test.collect.Directory): |         class Directory(py.test.collect.Directory): | ||||||
|             def filefilter(self, fspath): |             def filefilter(self, fspath): | ||||||
|  | @ -200,7 +200,7 @@ def test_custom_python_collection_from_conftest(): | ||||||
|         config = py.test.config._reparse([x]) |         config = py.test.config._reparse([x]) | ||||||
|         #print "checking that %s returns custom items" % (x,)  |         #print "checking that %s returns custom items" % (x,)  | ||||||
|         col = config._getcollector(x) |         col = config._getcollector(x) | ||||||
|         assert len(list(col._tryiter(py.test.Item))) == 2  |         assert len(list(col._tryiter(py.test.collect.Item))) == 2  | ||||||
|         #assert items[1].__class__.__name__ == 'MyFunction' |         #assert items[1].__class__.__name__ == 'MyFunction' | ||||||
| 
 | 
 | ||||||
|     # test that running a session works from the directories |     # test that running a session works from the directories | ||||||
|  | @ -227,7 +227,7 @@ def test_custom_NONpython_collection_from_conftest(): | ||||||
|     o = tmpdir.ensure('customconfigtest_nonpython', dir=1) |     o = tmpdir.ensure('customconfigtest_nonpython', dir=1) | ||||||
|     o.ensure('conftest.py').write("""if 1: |     o.ensure('conftest.py').write("""if 1: | ||||||
|         import py |         import py | ||||||
|         class CustomItem(py.test.Item):  |         class CustomItem(py.test.collect.Item):  | ||||||
|             def run(self): |             def run(self): | ||||||
|                 pass |                 pass | ||||||
| 
 | 
 | ||||||
|  | @ -247,7 +247,7 @@ def test_custom_NONpython_collection_from_conftest(): | ||||||
|         print "checking that %s returns custom items" % (x,)  |         print "checking that %s returns custom items" % (x,)  | ||||||
|         config = py.test.config._reparse([x]) |         config = py.test.config._reparse([x]) | ||||||
|         col = config._getcollector(x) |         col = config._getcollector(x) | ||||||
|         assert len(list(col._tryiter(py.test.Item))) == 1 |         assert len(list(col._tryiter(py.test.collect.Item))) == 1 | ||||||
|         #assert items[1].__class__.__name__ == 'MyFunction' |         #assert items[1].__class__.__name__ == 'MyFunction' | ||||||
| 
 | 
 | ||||||
|     # test that running a session works from the directories |     # test that running a session works from the directories | ||||||
|  | @ -337,7 +337,7 @@ def test_documentation_virtual_collector_interaction(): | ||||||
|     try: |     try: | ||||||
|         conf.option.forcegen = 1 |         conf.option.forcegen = 1 | ||||||
|         col = py.test.collect.Directory(rootdir) |         col = py.test.collect.Directory(rootdir) | ||||||
|         x = list(col._tryiter(yieldtype=py.test.Function)) |         x = list(col._tryiter(yieldtype=py.test.collect.Function)) | ||||||
|     finally: |     finally: | ||||||
|         conf.option.forcegen = old |         conf.option.forcegen = old | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ def test_collect_doctest_files_with_test_prefix(): | ||||||
|         #print "checking that %s returns custom items" % (x,)  |         #print "checking that %s returns custom items" % (x,)  | ||||||
|         config = py.test.config._reparse([x]) |         config = py.test.config._reparse([x]) | ||||||
|         col = config._getcollector(x) |         col = config._getcollector(x) | ||||||
|         items = list(col._tryiter(py.test.Item)) |         items = list(col._tryiter(py.test.collect.Item)) | ||||||
|         assert len(items) == 1 |         assert len(items) == 1 | ||||||
|         assert isinstance(items[0], DoctestText) |         assert isinstance(items[0], DoctestText) | ||||||
|     |     | ||||||
|  |  | ||||||
|  | @ -192,7 +192,7 @@ class TestTerminalSession: | ||||||
|         """)) |         """)) | ||||||
|         conftest = o.join('conftest.py').write(py.code.Source(""" |         conftest = o.join('conftest.py').write(py.code.Source(""" | ||||||
|             import py |             import py | ||||||
|             class Function(py.test.Function):  |             class Function(py.test.collect.Function):  | ||||||
|                 def startcapture(self):  |                 def startcapture(self):  | ||||||
|                     self._mycapture = None |                     self._mycapture = None | ||||||
|                      |                      | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue