summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Semjonovs <asemjonovs@google.com>2022-10-06 11:33:14 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-10-07 15:25:04 +0000
commite1f4625c8b60c9cc420a4ac1b110917275d4b774 (patch)
treed1aedc015d7c159c0b432d9ad111f1172434476f
parent48ed43a6f372ea3588ccc7e14ff5da1501050216 (diff)
downloadchrome-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-xutil/twister_launcher.py23
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: