diff options
Diffstat (limited to 'src/suite/decorator.py')
| -rw-r--r-- | src/suite/decorator.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/suite/decorator.py b/src/suite/decorator.py index 55c9de6..4f1aaa9 100644 --- a/src/suite/decorator.py +++ b/src/suite/decorator.py @@ -6,22 +6,29 @@ # By: charles <me@cacharle.xyz> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/09/11 12:28:00 by charles #+# #+# # -# Updated: 2020/09/11 12:28:14 by charles ### ########.fr # +# Updated: 2020/09/11 14:13:34 by charles ### ########.fr # # # # ############################################################################ # from suite import Suite from test import Test +import inspect -def suite(origin): - """ decorator for a suite function (fmt: suite_[name]) """ +def suite(groups: [str] = [], bonus: bool = False): + def suite_wrapper(origin): + """ decorator for a suite function (fmt: suite_[name]) """ - name = origin.__name__[len("suite_"):] - s = Suite(name) - def test_generator(): - def test(*args, **kwargs): - s.add(Test(*args, **kwargs)) - origin(test) - s.add_generator(test_generator) - Suite.available.append(s) - return test_generator + mod_name = inspect.getmodule(origin).__name__[len("suites."):] + # print(mod_name) + + name = origin.__name__[len("suite_"):] + s = Suite(name, groups + [mod_name], bonus) + def test_generator(): + def test(*args, **kwargs): + s.add(Test(*args, **kwargs)) + origin(test) + s.add_generator(test_generator) + Suite.available.append(s) + return test_generator + + return suite_wrapper |
