Add script for running all tests from inner buildout packages#70
Conversation
| import nose | ||
| import argparse | ||
| from pkg_resources import iter_entry_points | ||
| import logging |
| import argparse | ||
| from pkg_resources import iter_entry_points | ||
| import logging | ||
|
|
run_tests.py
Outdated
| Increase default python recursion depth limit | ||
| if tests amount is greater than that value | ||
| """ | ||
| if (DEFAULT_RECURSION_LIMIT - tests_amount) < DEFAULT_RECURSION_LIMIT / 2: |
There was a problem hiding this comment.
Якщо більше половини, то ми збільшуємо ? Чому саме так ?
There was a problem hiding this comment.
Немає фіксованої залежності глибини рекурсії від кількості тестів.
Такий варіант здався оптимальним.
run_tests.py
Outdated
| sys.setrecursionlimit(tests_amount + DEFAULT_RECURSION_LIMIT) | ||
|
|
||
|
|
||
| def get_tests(packages, test_type): |
run_tests.py
Outdated
| continue | ||
| for entry_point in iter_entry_points(group=group + '.' + test_type): | ||
| package_name = group + '.{}' | ||
| package_name = package_name.format(entry_point.name) |
There was a problem hiding this comment.
В одному format буде краще виглядати.
| const=True, default=False, | ||
| help='List packages that can be tested') | ||
| args = parser.parse_args() | ||
| unique_packages = set(args.packages) |
There was a problem hiding this comment.
Все це варто в окрему функцію main закинути
run_tests.py
Outdated
| @@ -0,0 +1,92 @@ | |||
| import sys | |||
run_tests.py
Outdated
| tested_packages = list() | ||
| all_tests = list() | ||
| for pack in packages: | ||
| group = pack.split('.')[0] if pack.split('.')[0:1] else None |
There was a problem hiding this comment.
Якась трохи дивна перевірка. Які значення можуть бути тут pack.split('.')[0:1]?
run_tests.py
Outdated
| logger.info('PYTESTS:') | ||
| for p in pytest_packages: | ||
| logger.info("> {}".format(p)) | ||
| exit() |
There was a problem hiding this comment.
@yarsanich, для того, щоб зупинити виконання скрипта. Опція --list-packages призначена для того, щоб переглянути пакети, які будуть протестовані.
run_tests.py
Outdated
| NOSE_ENV['NOSE_COVER_PACKAGE'] = cover_packages | ||
| unpacked_tests = unpack_suites(nose_tests) | ||
| set_recursion_limit(len(unpacked_tests)) | ||
| sys.exit([suite() for suite in pytests], |
There was a problem hiding this comment.
generator expression тут не підійде ?
* Solve maximum recursion depth issue * Add instructions to README.md * Add example of usage at top of script
83336c9 to
41de673
Compare
This change is