Yaroslav Halchenko <yarikop...@gmail.com> added the comment: In PyMVPA we have our little decorator as an alternative to Fernando's generators, and which is closer, I think, to what Michael was wishing for: @sweepargs
http://github.com/yarikoptic/PyMVPA/blob/master/mvpa/testing/sweepargs.py NB it has some minor PyMVPA specificity which could be easily wiped out, and since it was at most 4 eyes looking at it and it bears "evolutionary" changes, it is far from being the cleanest/best piece of code, BUT: * it is very easy to use, just decorate a test method/function and give an argument which to vary within the function call, e.g smth like @sweepargs(arg=range(5)) def test_sweepargs_demo(arg): ok_(arg < 5) ok_(arg < 3) ok_(arg < 2) For nose/unittest it would still look like a single test * if failures occur, sweepargs groups failures by the type/location of the failures and spits out a backtrace for one of failures + summary (instead of detailed backtraces for each failure) specifying which arguments lead to what error... here is the output for example above: $> nosetests -s test_sweepargs_demo.py F ====================================================================== FAIL: mvpa.tests.test_sweepargs_demo.test_sweepargs_demo ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/pymodules/python2.5/nose/case.py", line 183, in runTest self.test(*self.arg) File "/usr/lib/pymodules/python2.5/nose/util.py", line 630, in newfunc return func(*arg, **kw) File "/home/yoh/proj/pymvpa/pymvpa/mvpa/tests/test_sweepargs_demo.py", line 11, in test_sweepargs_demo ok_(arg < 2) File "/usr/lib/pymodules/python2.5/nose/tools.py", line 25, in ok_ assert expr, msg AssertionError: Different scenarios lead to failures of unittest test_sweepargs_demo (specific tracebacks are below): File "/home/yoh/proj/pymvpa/pymvpa/mvpa/tests/test_sweepargs_demo.py", line 10, in test_sweepargs_demo ok_(arg < 3) File "/usr/lib/pymodules/python2.5/nose/tools.py", line 25, in ok_ assert expr, msg on arg=3 arg=4 File "/home/yoh/proj/pymvpa/pymvpa/mvpa/tests/test_sweepargs_demo.py", line 11, in test_sweepargs_demo ok_(arg < 2) File "/usr/lib/pymodules/python2.5/nose/tools.py", line 25, in ok_ assert expr, msg on arg=2 ---------------------------------------------------------------------- Ran 1 test in 0.003s FAILED (failures=1) * obviousely multiple decorators could be attached to the same test, to test on all combinations of more than 1 argument but output atm is a bit cryptic ;-) ---------- nosy: +Yaroslav.Halchenko _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7897> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com