- commit
- 1675c12c9d420e93da50b98230b6d5720636fe5d
- parent
- f388a0c55c8fa8d68358870de375d651844beb00
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2019-02-09 10:21
allow to parametrize suites like tests
Diffstat
| M | assamtest/test.py | 32 | +++++++++++++++++++------------- |
1 files changed, 19 insertions, 13 deletions
diff --git a/assamtest/test.py b/assamtest/test.py
@@ -11,27 +11,33 @@ def _suite_pop(name): 11 11 stack[-1]['suites'].append((name, tmp)) 12 12 13 1314 -1 def suite(name=None):-1 14 def _prepare(name, args, decorators, fn): -1 15 _name = name or fn.__name__ -1 16 if args: -1 17 _name += ':' + ';'.join(str(arg) for arg in args) -1 18 -1 19 def wrapper(): -1 20 fn(*args) -1 21 -1 22 for d in decorators: -1 23 wrapper = d(wrapper) -1 24 -1 25 return _name, wrapper -1 26 -1 27 -1 28 def suite(name=None, args=[], decorators=[]): 15 29 def decorator(fn): -1 30 _name, wrapper = _prepare(name, args, decorators, fn) 16 31 _suite_push()17 -1 fn()18 -1 _suite_pop(name or fn.__name__)-1 32 wrapper() -1 33 _suite_pop(_name) 19 34 return fn 20 35 return decorator 21 36 22 37 23 38 def test(name=None, args=[], decorators=[]): 24 39 def decorator(fn):25 -1 _name = name or fn.__name__26 -1 if args:27 -1 _name += ':' + ';'.join(str(arg) for arg in args)28 -129 -1 def wrapper():30 -1 fn(*args)31 -132 -1 for d in decorators:33 -1 wrapper = d(wrapper)34 -1-1 40 _name, wrapper = _prepare(name, args, decorators, fn) 35 41 stack[-1]['tests'].append((_name, wrapper)) 36 42 return fn 37 43 return decorator