[py-svn] r31526 - in py/branch/distributed/py/test: . testing

hpk at codespeak.net hpk at codespeak.net
Wed Aug 23 12:54:45 CEST 2006


Author: hpk
Date: Wed Aug 23 12:54:42 2006
New Revision: 31526

Modified:
   py/branch/distributed/py/test/collect.py
   py/branch/distributed/py/test/testing/test_collect.py
Log:
(fijal, hpk) made tryiter to ignore py.test.skip's    


Modified: py/branch/distributed/py/test/collect.py
==============================================================================
--- py/branch/distributed/py/test/collect.py	(original)
+++ py/branch/distributed/py/test/collect.py	Wed Aug 23 12:54:42 2006
@@ -188,9 +188,12 @@
             yield self
         else:
             if not isinstance(self, py.test.Item):
-                for x in self.run(): 
-                    for y in self.join(x).tryiter(yieldtype): 
-                        yield y
+                try:
+                    for x in self.run(): 
+                        for y in self.join(x).tryiter(yieldtype): 
+                            yield y
+                except py.test.Item.Skipped: 
+                    pass
 
     def _prepare(self): 
         if not hasattr(self, '_name2items'): 

Modified: py/branch/distributed/py/test/testing/test_collect.py
==============================================================================
--- py/branch/distributed/py/test/testing/test_collect.py	(original)
+++ py/branch/distributed/py/test/testing/test_collect.py	Wed Aug 23 12:54:42 2006
@@ -330,3 +330,25 @@
     finally:
         conf.option.forcegen = old
     
+
+def test_tryiter_ignores_skips():
+    tmp = py.test.ensuretemp("tryiterskip")
+    tmp.ensure("subdir", "conftest.py").write(py.code.Source("""
+        import py
+        class Directory(py.test.collect.Directory):
+            def run(self):
+                py.test.skip("intentional")
+    """))
+    col = py.test.collect.Directory(tmp)
+    try:
+        list(col.tryiter())
+    except KeyboardInterrupt: 
+        raise
+    except:
+        exc = py.code.ExceptionInfo() 
+        py.test.fail("should not have raised: %s"  %(exc,))
+    
+    
+
+
+    



More information about the pytest-commit mailing list