diff options
author | Al Semjonovs <asemjonovs@google.com> | 2022-10-06 11:33:14 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-10-07 15:25:04 +0000 |
commit | e1f4625c8b60c9cc420a4ac1b110917275d4b774 (patch) | |
tree | d1aedc015d7c159c0b432d9ad111f1172434476f | |
parent | 48ed43a6f372ea3588ccc7e14ff5da1501050216 (diff) | |
download | chrome-ec-e1f4625c8b60c9cc420a4ac1b110917275d4b774.tar.gz |
zephyr: Return failure when tests are skipped
Prevent tests that are skipped pass CQ
BUG=None
BRANCH=NONE
TEST=Verify FAILURE on ./twister -T zephyr/test
Add ZTEST_EXPECT_SKIP for expected skips and
verify SUCCESS on ./twister -T zephyr/test
Cq-Depend: 3935719
Signed-off-by: Al Semjonovs <asemjonovs@google.com>
Change-Id: I546f27fe4f19136609612f5139cff4b4dc1da4ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3935718
Reviewed-by: Aaron Massey <aaronmassey@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-x | util/twister_launcher.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/util/twister_launcher.py b/util/twister_launcher.py index d98768fed5..e6126def32 100755 --- a/util/twister_launcher.py +++ b/util/twister_launcher.py @@ -63,6 +63,7 @@ parameters that may be used, please consult the Twister documentation. # [VPYTHON:END] import argparse +import json import os import re import shlex @@ -188,6 +189,25 @@ def upload_results(ec_base): return flag +def check_for_skipped_tests(ec_base): + """Checks Twister json test report for skipped tests""" + found_skipped = False + json_path = ec_base / "twister-out" / "twister.json" + with open(json_path) as file: + data = json.load(file) + + for testsuite in data["testsuites"]: + for testcase in testsuite["testcases"]: + if testcase["status"] == "skipped": + tc_name = testcase["identifier"] + print(f"TEST SKIPPED: {tc_name}") + found_skipped = True + + file.close() + + return found_skipped + + def main(): """Run Twister using defaults for the EC project.""" @@ -302,6 +322,9 @@ def main(): # Invoke Twister and wait for it to exit. result = subprocess.run(twister_cli, env=twister_env, check=False) + if check_for_skipped_tests(ec_base): + result.returncode = 1 + if result.returncode == 0: print("TEST EXECUTION SUCCESSFUL") else: |