@@ -59,14 +59,51 @@ jobs:
5959 - " default.cfg"
6060
6161 include :
62- # only run on qemu-vexpress-a9
62+ # run kernel utest set on all QEMU boards
6363 - platform : { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
6464 config_file : " kernel/kernel_basic.cfg"
6565 - platform : { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
6666 config_file : " kernel/ipc.cfg"
6767 - platform : { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
6868 config_file : " kernel/mem.cfg"
69-
69+ - platform : { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
70+ config_file : " kernel/kernel_basic.cfg"
71+ - platform : { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
72+ config_file : " kernel/ipc.cfg"
73+ - platform : { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
74+ config_file : " kernel/mem.cfg"
75+ - platform : { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
76+ config_file : " kernel/kernel_basic.cfg"
77+ - platform : { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
78+ config_file : " kernel/ipc.cfg"
79+ - platform : { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
80+ config_file : " kernel/mem.cfg"
81+ - platform : { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" }
82+ config_file : " kernel/kernel_basic.cfg"
83+ - platform : { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" }
84+ config_file : " kernel/ipc.cfg"
85+ - platform : { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" }
86+ config_file : " kernel/mem.cfg"
87+ - platform : { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" }
88+ config_file : " kernel/kernel_basic.cfg"
89+ - platform : { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" }
90+ config_file : " kernel/ipc.cfg"
91+ - platform : { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" }
92+ config_file : " kernel/mem.cfg"
93+ - platform : { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
94+ config_file : " kernel/kernel_basic.cfg"
95+ - platform : { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
96+ config_file : " kernel/ipc.cfg"
97+ - platform : { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
98+ config_file : " kernel/mem.cfg"
99+ - platform : { UTEST: "RISCV-smp", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"smp" }
100+ config_file : " kernel/mem.cfg"
101+ - platform : { UTEST: "AARCH64", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
102+ config_file : " kernel/mem.cfg"
103+ - platform : { UTEST: "AARCH64-rtsmart", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
104+ config_file : " kernel/mem.cfg"
105+ - platform : { UTEST: "AARCH64-smp", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
106+ config_file : " kernel/mem.cfg"
70107 - platform : { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
71108 config_file : " kernel/atomic_c11.cfg"
72109 - platform : { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" }
@@ -273,38 +310,55 @@ jobs:
273310
274311 - name : Monitor qemu log
275312 if : ${{ env.TOOLCHAIN_INSTALLED != '' && success() }}
313+ timeout-minutes : 20
276314 run : |
277315 FAILURE_DETECTED=false
278316 ERROR_LOGS=""
317+ export FAILURE_DETECTED ERROR_LOGS
279318
280319 echo "=========================================================================================="
281320 echo " || || "
282321 echo " || Start automatic running of Utest || "
283322 echo " VV VV "
284323 echo "=========================================================================================="
285- tail -n 0 -f qemu_output_$TEST_QEMU_ARCH.log | while read line; do
286- echo $line
287- if [[ "$line" == *"[ FAILED ] [ result ]"* ]]; then
288- ERROR_LOGS="$ERROR_LOGS$line"$'\n'
289- FAILURE_DETECTED=true
290- fi
291-
292- if [[ "$line" == *"[==========] [ utest ] finished"* ]]; then
293- if $FAILURE_DETECTED; then
324+ timeout 20m bash -c '
325+ tail -n 0 -f "qemu_output_${TEST_QEMU_ARCH}.log" | while IFS= read -r line; do
326+ echo "$line"
327+ if [[ "$line" == *"[ FAILED ] [ result ]"* ]]; then
328+ ERROR_LOGS="${ERROR_LOGS}${line}"$'\''\n'\''
329+ FAILURE_DETECTED=true
330+ fi
331+
332+ if [[ "$line" == *"[==========] [ utest ] finished"* ]]; then
333+ if [[ "$FAILURE_DETECTED" == "true" ]]; then
334+ echo "=========================================================================================="
335+ echo " || || "
336+ echo " || Error: Failures detected in logs. Below are the failure details... || "
337+ echo " VV VV "
338+ echo "=========================================================================================="
339+ echo "$ERROR_LOGS"
340+ exit 1
341+ fi
294342 echo "=========================================================================================="
295- echo " || || "
296- echo " || Error: Failures detected in logs. Below are the failure details... || "
297- echo " VV VV "
343+ echo " Successed: Utest run completed. Exiting log monitoring "
298344 echo "=========================================================================================="
299- echo "$ERROR_LOGS"
300- exit 1
345+ break
301346 fi
302- echo "=========================================================================================="
303- echo " Successed: Utest run completed. Exiting log monitoring "
304- echo "=========================================================================================="
305- break
306- fi
307- done
347+ done
348+ '
349+ monitor_status=$?
350+
351+ if [[ $monitor_status -eq 124 ]]; then
352+ echo "=========================================================================================="
353+ echo " || || "
354+ echo " || Error: Utest run timed out after 20 minutes. Exiting... || "
355+ echo " VV VV "
356+ echo "=========================================================================================="
357+ pkill -f "qemu-system-${TEST_QEMU_ARCH}.*${TEST_BSP_ROOT}/rtthread.bin" || true
358+ exit 1
359+ fi
360+
361+ exit $monitor_status
308362 # # Post CI status to PR comment
309363 # post-ci-status:
310364 # needs: test
0 commit comments