diff --git a/scripts/pylib/twister/twisterlib/reports.py b/scripts/pylib/twister/twisterlib/reports.py index 03427ff8e0e..22a5911e200 100644 --- a/scripts/pylib/twister/twisterlib/reports.py +++ b/scripts/pylib/twister/twisterlib/reports.py @@ -414,6 +414,30 @@ class Reporting: logger.warning("Deltas based on metrics from last %s" % ("release" if not last_metrics else "run")) + def synopsis(self): + cnt = 0 + instance = None + for instance in self.instances.values(): + if instance.status not in ["passed", "filtered", "skipped"]: + cnt = cnt + 1 + if cnt == 1: + logger.info("-+" * 40) + logger.info("The following issues were found (showing the top 10 items):") + + logger.info(f"{cnt}) {instance.testsuite.name} on {instance.platform.name} {instance.status} ({instance.reason})") + if cnt == 10: + break + + if cnt: + logger.info("") + logger.info("To rerun the tests, call twister using the following commandline:") + logger.info("./scripts/twister -p -s , for example:") + logger.info("") + logger.info(f"./scripts/twister -p {instance.platform.name} -s {instance.testsuite.name}") + logger.info(f"or with west:") + logger.info(f"west build -b {instance.platform.name} -T {instance.testsuite.name}") + logger.info("-+" * 40) + def summary(self, results, unrecognized_sections, duration): failed = 0 run = 0 diff --git a/scripts/pylib/twister/twisterlib/twister_main.py b/scripts/pylib/twister/twisterlib/twister_main.py index 2877e0198ef..9af6c384fd0 100644 --- a/scripts/pylib/twister/twisterlib/twister_main.py +++ b/scripts/pylib/twister/twisterlib/twister_main.py @@ -223,6 +223,8 @@ def main(options): options.platform_reports, ) + report.synopsis() + if options.package_artifacts: artifacts = Artifacts(env) artifacts.package()