mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-16 04:07:51 +00:00
Sync from bytedesk-private: update
This commit is contained in:
51
modules/python/vendors/FunASR/tests/run_test.py
vendored
Normal file
51
modules/python/vendors/FunASR/tests/run_test.py
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from fnmatch import fnmatch
|
||||
|
||||
|
||||
def gather_test_cases(test_dir, pattern, list_tests):
|
||||
case_list = []
|
||||
for dirpath, dirnames, filenames in os.walk(test_dir):
|
||||
for file in filenames:
|
||||
if fnmatch(file, pattern):
|
||||
case_list.append(file)
|
||||
|
||||
test_suite = unittest.TestSuite()
|
||||
|
||||
for case in case_list:
|
||||
test_case = unittest.defaultTestLoader.discover(start_dir=test_dir, pattern=case)
|
||||
test_suite.addTest(test_case)
|
||||
if hasattr(test_case, "__iter__"):
|
||||
for subcase in test_case:
|
||||
if list_tests:
|
||||
print(subcase)
|
||||
else:
|
||||
if list_tests:
|
||||
print(test_case)
|
||||
return test_suite
|
||||
|
||||
|
||||
def main(args):
|
||||
runner = unittest.TextTestRunner()
|
||||
test_suite = gather_test_cases(os.path.abspath(args.test_dir), args.pattern, args.list_tests)
|
||||
if not args.list_tests:
|
||||
result = runner.run(test_suite)
|
||||
if len(result.failures) > 0:
|
||||
sys.exit(len(result.failures))
|
||||
if len(result.errors) > 0:
|
||||
sys.exit(len(result.errors))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser("test runner")
|
||||
parser.add_argument("--list_tests", action="store_true", help="list all tests")
|
||||
parser.add_argument("--pattern", default="test_*.py", help="test file pattern")
|
||||
parser.add_argument("--test_dir", default="tests", help="directory to be tested")
|
||||
parser.add_argument("--disable_profile", action="store_true", help="disable profiling")
|
||||
args = parser.parse_args()
|
||||
print(f"working dir: {os.getcwd()}")
|
||||
main(args)
|
||||
Reference in New Issue
Block a user