summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2024-08-19 12:17:21 +1000
committerDamien George <damien@micropython.org>2024-08-28 11:23:11 +1000
commitc8838b5004d32351ffea89b2f224c22c65f9e375 (patch)
tree237bffe8189a9eaaefde4039d1ebf7810b4c2068 /tools
parent9af333f2c62de02da2184821c3a59e4d462365ea (diff)
github/workflows: Add CI to run tests against zephyr with qemu.
With this change, the zephyr port is tested against the standard test suite via the following scheme: - the zephyr port is built with the `qemu_cortex_m3` board and the `prj_minimal.conf` configuration - `qemu-system-arm` runs `zephyr.elf` - the zephyr console is redirected to a pts/pty - `tests/run-tests.py` is run in bare-metal mode against the pts/pty device This allows testing the zephyr port as though it were a physical board attached over a serial port. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/ci.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/ci.sh b/tools/ci.sh
index 03b6bf59a..7353a3ecd 100755
--- a/tools/ci.sh
+++ b/tools/ci.sh
@@ -749,6 +749,11 @@ function ci_zephyr_setup {
-w /micropython/ports/zephyr \
zephyrprojectrtos/ci:${ZEPHYR_DOCKER_VERSION}
docker ps -a
+
+ # qemu-system-arm is needed to run the test suite.
+ sudo apt-get update
+ sudo apt-get install qemu-system-arm
+ qemu-system-arm --version
}
function ci_zephyr_install {
@@ -763,3 +768,10 @@ function ci_zephyr_build {
docker exec zephyr-ci west build -p auto -b mimxrt1050_evk
docker exec zephyr-ci west build -p auto -b nucleo_wb55rg # for bluetooth
}
+
+function ci_zephyr_run_tests {
+ docker exec zephyr-ci west build -p auto -b qemu_cortex_m3 -- -DCONF_FILE=prj_minimal.conf
+ # Issues with zephyr tests:
+ # - inf_nan_arith fails pow(-1, nan) test
+ (cd tests && ./run-tests.py --target minimal --device execpty:"qemu-system-arm -cpu cortex-m3 -machine lm3s6965evb -nographic -monitor null -serial pty -kernel ../ports/zephyr/build/zephyr/zephyr.elf" -d basics float --exclude inf_nan_arith)
+}