@@ -142,49 +142,39 @@ jobs:
142
142
scons -j$(nproc) --strict -C $TEST_BSP_ROOT
143
143
144
144
- name : QEMU Run Test
145
+ shell : bash
145
146
if : ${{ matrix.platform.RUN == 'yes' && env.TOOLCHAIN_INSTALLED != '' && success() }}
146
147
run : |
147
- # if [ "$TEST_SD_FILE" != "None" ]; then
148
- # dd if=/dev/zero of=$TEST_BSP_ROOT/sd.bin bs=1024 count=65536
149
- # mkfs.fat $TEST_BSP_ROOT/sd.bin
150
- # qemu-system-$TEST_QEMU_ARCH -nographic -M $TEST_QEMU_MACHINE -kernel $TEST_BSP_ROOT/rtthread.bin -nographic -sd $TEST_BSP_ROOT/sd.bin > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
151
- # else
152
- # qemu-system-$TEST_QEMU_ARCH -nographic -M $TEST_QEMU_MACHINE -kernel $TEST_BSP_ROOT/rtthread.bin -nographic > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
153
- # fi
148
+ if [ "$TEST_SD_FILE" != "None" ]; then
149
+ dd if=/dev/zero of=$TEST_BSP_ROOT/sd.bin bs=1024 count=65536
150
+ mkfs.fat $TEST_BSP_ROOT/sd.bin
151
+ fi
154
152
155
153
if [[ "${{ matrix.platform.QEMU_ARCH }}" == "aarch64" ]]; then
156
- dd if=/dev/zero of=$TEST_BSP_ROOT/sd.bin bs=1M count=64 status=progress || { echo "Failed to create SD image"; exit 1; }
157
- mkfs.vfat -F 32 $TEST_BSP_ROOT/sd.bin || { echo "Failed to format SD image"; exit 1; }
158
-
159
- qemu-system-$TEST_QEMU_ARCH \
160
- -nographic \
161
- -M $TEST_QEMU_MACHINE \
162
- -kernel $TEST_BSP_ROOT/rtthread.bin \
163
- -device virtio-serial-device -chardev socket,host=127.0.0.1,port=4321,server=on,wait=off,telnet=on,id=console0 -device virtserialport,chardev=console0 \
164
- -drive if=none,file=$TEST_BSP_ROOT/sd.bin,format=raw,id=blk0 -device virtio-blk-device,drive=blk0,bus=virtio-mmio-bus.0 \
165
- -netdev user,id=net0 -device virtio-net-device,netdev=net0,bus=virtio-mmio-bus.1 \
166
- > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
154
+ qemu-system-$TEST_QEMU_ARCH -M virt,gic-version=2 -cpu cortex-a53 -smp 4 -kernel $TEST_BSP_ROOT/rtthread.bin -nographic \
155
+ -drive if=none,file=$TEST_BSP_ROOT/sd.bin,format=raw,id=blk0 -device virtio-blk-device,drive=blk0,bus=virtio-mmio-bus.0 \
156
+ -netdev user,id=net0 -device virtio-net-device,netdev=net0,bus=virtio-mmio-bus.1 \
157
+ > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
167
158
elif [[ "${{ matrix.platform.QEMU_ARCH }}" == "arm" ]]; then
168
- dd if=/dev/zero of=$TEST_BSP_ROOT/sd.bin bs=1024 count=65536 || { echo "Failed to create SD image"; exit 1; }
169
- mkfs.fat $TEST_BSP_ROOT/sd.bin || { echo "Failed to format SD image"; exit 1; }
170
- qemu-system-$TEST_QEMU_ARCH \
171
- -nographic \
172
- -M $TEST_QEMU_MACHINE \
173
- -kernel $TEST_BSP_ROOT/rtthread.bin \
174
- -nographic -sd $TEST_BSP_ROOT/sd.bin \
175
- > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
159
+ qemu-system-$TEST_QEMU_ARCH \
160
+ -nographic \
161
+ -M $TEST_QEMU_MACHINE \
162
+ -kernel $TEST_BSP_ROOT/rtthread.bin \
163
+ -sd $TEST_BSP_ROOT/sd.bin \
164
+ > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
176
165
else
177
- qemu-system-$TEST_QEMU_ARCH \
178
- -nographic \
179
- -M $TEST_QEMU_MACHINE \
180
- -kernel $TEST_BSP_ROOT/rtthread.bin \
181
- > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
166
+ qemu-system-$TEST_QEMU_ARCH \
167
+ -nographic \
168
+ -M $TEST_QEMU_MACHINE \
169
+ -kernel $TEST_BSP_ROOT/rtthread.bin \
170
+ > qemu_output_$TEST_QEMU_ARCH.log 2>&1 &
182
171
fi
183
-
172
+
184
173
QEMU_PID=$!
185
174
disown $QEMU_PID
186
175
187
176
- name : Monitor qemu log
177
+ shell : bash
188
178
if : ${{ matrix.platform.RUN == 'yes' && env.TOOLCHAIN_INSTALLED != '' && success() }}
189
179
run : |
190
180
FAILURE_DETECTED=false
@@ -198,12 +188,12 @@ jobs:
198
188
fi
199
189
200
190
if [[ "$line" == *"[==========] [ utest ] finished"* ]]; then
201
- echo "Utest run completed. Exiting log monitoring..."
202
191
if $FAILURE_DETECTED; then
203
192
echo "Error: Failures detected in logs. Below are the failure details..."
204
193
echo "$ERROR_LOGS"
205
194
exit 1
206
195
fi
196
+ echo "Utest run completed. Exiting log monitoring..."
207
197
break
208
198
fi
209
199
done
0 commit comments