ci: improve reporting
This commit is contained in:
parent
d03900c0e8
commit
f0ba65eb9b
3 changed files with 33 additions and 21 deletions
35
.github/helper/ci.py
vendored
35
.github/helper/ci.py
vendored
|
|
@ -134,26 +134,27 @@ if __name__ == "__main__":
|
|||
# Run tests with code coverage
|
||||
with CodeCoverage(with_coverage=with_coverage, app=app):
|
||||
# Add ASCII banner at the end
|
||||
mode = "Orchestrator" if use_orchestrator else "Parallel"
|
||||
banner = f"""
|
||||
╔{'═' * 50}╗
|
||||
║{' ' * 50}║
|
||||
║ CI Helper Script Execution Summary ║
|
||||
║{' ' * 50}║
|
||||
╠{'═' * 50}╣
|
||||
║ Mode: {mode:<29} ║
|
||||
║ App: {app:<29} ║
|
||||
║ Site: {site:<29} ║
|
||||
║ Build Number: {build_number:<29} ║
|
||||
║ Total Builds: {total_builds:<29} ║
|
||||
╚{'═' * 50}╝
|
||||
"""
|
||||
print(banner)
|
||||
if use_orchestrator:
|
||||
from frappe.parallel_test_runner import ParallelTestWithOrchestrator
|
||||
|
||||
ParallelTestWithOrchestrator(app, site=site)
|
||||
runner = ParallelTestWithOrchestrator(app, site=site)
|
||||
else:
|
||||
from frappe.parallel_test_runner import ParallelTestRunner
|
||||
|
||||
ParallelTestRunner(app, site=site, build_number=build_number, total_builds=total_builds)
|
||||
runner = ParallelTestRunner(app, site=site, build_number=build_number, total_builds=total_builds)
|
||||
|
||||
mode = "Orchestrator" if use_orchestrator else "Parallel"
|
||||
banner = f"""
|
||||
╔════════════════════════════════════════════╗
|
||||
║ CI Helper Script Execution Summary ║
|
||||
╠════════════════════════════════════════════╣
|
||||
║ Mode: {mode:<26} ║
|
||||
║ App: {app:<26} ║
|
||||
║ Site: {site:<26} ║
|
||||
║ Build Number: {build_number:<26} ║
|
||||
║ Total Builds: {total_builds:<26} ║
|
||||
║ Tests in Build: ~{runner.total_tests:<25} ║
|
||||
╚════════════════════════════════════════════╝
|
||||
"""
|
||||
print(banner)
|
||||
runner.setup_and_run()
|
||||
|
|
|
|||
|
|
@ -868,13 +868,14 @@ def run_parallel_tests(
|
|||
else:
|
||||
from frappe.parallel_test_runner import ParallelTestRunner
|
||||
|
||||
ParallelTestRunner(
|
||||
runner = ParallelTestRunner(
|
||||
app,
|
||||
site=site,
|
||||
build_number=build_number,
|
||||
total_builds=total_builds,
|
||||
dry_run=dry_run,
|
||||
)
|
||||
runner.setup_and_run()
|
||||
|
||||
|
||||
@click.command(
|
||||
|
|
|
|||
|
|
@ -26,8 +26,15 @@ class ParallelTestRunner:
|
|||
self.build_number = frappe.utils.cint(build_number) or 1
|
||||
self.total_builds = frappe.utils.cint(total_builds)
|
||||
self.dry_run = dry_run
|
||||
self.test_file_list = []
|
||||
self.total_tests = 0
|
||||
self.test_result = None
|
||||
self.setup_test_file_list()
|
||||
|
||||
def setup_and_run(self):
|
||||
self.setup_test_site()
|
||||
self.run_tests()
|
||||
self.print_result()
|
||||
|
||||
def setup_test_site(self):
|
||||
frappe.init(self.site)
|
||||
|
|
@ -57,14 +64,17 @@ class ParallelTestRunner:
|
|||
elapsed = click.style(f" ({elapsed:.03}s)", fg="red")
|
||||
click.echo(f"Before Test {elapsed}")
|
||||
|
||||
def setup_test_file_list(self):
|
||||
self.test_file_list = self.get_test_file_list()
|
||||
self.total_tests = sum(self.get_test_count(test) for test in self.test_file_list)
|
||||
click.echo(f"Estimated total tests for build {self.build_number}: {self.total_tests}")
|
||||
|
||||
def run_tests(self):
|
||||
self.test_result = ParallelTestResult(stream=sys.stderr, descriptions=True, verbosity=2)
|
||||
|
||||
for test_file_info in self.get_test_file_list():
|
||||
for test_file_info in self.test_file_list:
|
||||
self.run_tests_for_file(test_file_info)
|
||||
|
||||
self.print_result()
|
||||
|
||||
def run_tests_for_file(self, file_info):
|
||||
if not file_info:
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue