[py-svn] r48126 - in py/branch/reporter-merge/py/test: . testing
fijal at codespeak.net
fijal at codespeak.net
Sun Oct 28 12:48:36 CET 2007
Author: fijal
Date: Sun Oct 28 12:48:35 2007
New Revision: 48126
Added:
py/branch/reporter-merge/py/test/testing/test_itemgen.py (contents, props changed)
Modified:
py/branch/reporter-merge/py/test/session.py
Log:
Some real test for itemgen
Modified: py/branch/reporter-merge/py/test/session.py
==============================================================================
--- py/branch/reporter-merge/py/test/session.py (original)
+++ py/branch/reporter-merge/py/test/session.py Sun Oct 28 12:48:35 2007
@@ -8,7 +8,8 @@
def itemgen(session, colitems, reporter, keyword=None):
stopitems = py.test.collect.Item # XXX should be generator here as well
for next in colitems:
- session.start(next)
+ if session:
+ session.start(next)
if isinstance(next, stopitems):
try:
next._skipbykeyword(keyword)
@@ -31,7 +32,8 @@
reporter(repevent.SkippedTryiter(excinfo, next))
else:
reporter(repevent.FailedTryiter(excinfo, next))
- session.finish(next)
+ if session:
+ session.finish(next)
class AbstractSession(object):
""" An abstract session executes collectors/items through a runner.
Added: py/branch/reporter-merge/py/test/testing/test_itemgen.py
==============================================================================
--- (empty file)
+++ py/branch/reporter-merge/py/test/testing/test_itemgen.py Sun Oct 28 12:48:35 2007
@@ -0,0 +1,39 @@
+
+import py
+from py.__.test.session import itemgen
+from py.__.test import repevent
+
+class TestItemgen:
+ def setup_class(cls):
+ tmp = py.test.ensuretemp('itemgentest')
+ tmp.ensure("__init__.py")
+ tmp.ensure("test_one.py").write(py.code.Source("""
+ def test_one():
+ pass
+
+ class TestX:
+ def test_method_one(self):
+ pass
+
+ class TestY(TestX):
+ pass
+ """))
+ tmp.ensure("test_two.py").write(py.code.Source("""
+ import py
+ py.test.skip('xxx')
+ """))
+ tmp.ensure("test_three.py").write("xxxdsadsadsadsa")
+ cls.tmp = tmp
+
+ def test_itemgen(self):
+ l = []
+ colitems = [py.test.collect.Directory(self.tmp)]
+ gen = itemgen(None, colitems, l.append)
+ items = [i for i in gen]
+ assert len([i for i in l if isinstance(i, repevent.SkippedTryiter)]) == 1
+ assert len([i for i in l if isinstance(i, repevent.FailedTryiter)]) == 1
+ assert len(items) == 3
+ assert items[0].name == 'test_one'
+ assert items[1].name == 'test_method_one'
+ assert items[2].name == 'test_method_one'
+
More information about the py-svn
mailing list