You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ut...@apache.org on 2019/01/02 10:32:02 UTC

[mynewt-nffs] branch master updated: Add more qemu error messages to CI

This is an automated email from the ASF dual-hosted git repository.

utzig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nffs.git


The following commit(s) were added to refs/heads/master by this push:
     new ed54331  Add more qemu error messages to CI
ed54331 is described below

commit ed54331cd269129e88fcdf12ce1cce0f7a98ab37
Author: Fabio Utzig <ut...@apache.org>
AuthorDate: Thu Dec 27 09:25:07 2018 -0200

    Add more qemu error messages to CI
    
    There were a few messages that were thrown by qemu that were not
    correctly captured by the evaluation script routine. This adds a list of
    the ones I've already seen and should be easy to extend to add new ones
    afterwards.
---
 ci/zephyr_run.sh | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/ci/zephyr_run.sh b/ci/zephyr_run.sh
index 2be666d..9b1dc20 100755
--- a/ci/zephyr_run.sh
+++ b/ci/zephyr_run.sh
@@ -16,17 +16,28 @@ make
 output="${HOME}/zephyr-results.txt"
 (make run | tee ${output}) &
 
-# qemu output strings in case of failure
-failed1="ASSERTION FAIL"
-failed2="CPU Page Fault"
 succeded="PROJECT EXECUTION SUCCESSFUL"
+
+# There are multiple possible output messages, depending on which test was
+# run, where it failed, or when some low-level fault in qemu happens.
+declare -a finished_msgs=(
+    "ASSERTION FAIL"
+    "CPU Page Fault"
+    "PROJECT EXECUTION FAILED"
+    "${succeded}"
+)
+
 MAX_LOOPS=10
 count=1
-while true; do
-    [[ $count == $MAX_LOOPS ]] && break
-    grep -q -e "${failed1}" -e "${failed2}" -e "${succeded}" ${output}
-    [[ $? -eq 0 ]] && break
-
+while [[ $count -lt $MAX_LOOPS ]]; do
+    for msg in "${finished_msgs[@]}"; do
+        grep -q -e "${msg}" ${output}
+        rc=$?
+        # break inner loop
+        [[ ${rc} -eq 0 ]] && break
+    done
+
+    [[ ${rc} -eq 0 ]] && break
     sleep 3
     count=$((count + 1))
 done
@@ -38,8 +49,4 @@ sleep 5  # give some time for qemu to close
 
 cat ${output}
 
-grep -q -e "${failed1}" -e "${failed2}" ${output}
-[[ $? -eq 0 ]] && exit 1
-
-# If the grep above fails, the test succeeded, so force success exit!
-exit 0
+grep -q -e "${succeded}" ${output}