Skip to content

Commit e703b1e

Browse files
committed
tools/ci.sh: Extend Arm testing to include hardfp targets.
This commit lets CI extend the testing scope of the QEMU Arm target, by letting it perform the usual battery of tests (interpreter and natmods) also on hardfp targets. The default board for Arm testing lacks hardware floating point support, so natmods weren't tested in that specific configuration. With the introduction of the "MPS_AN500" QEMU target, now this is made possible as said board emulates a Cortex-M7 machine with a single- and double-precision floating point unit. To reduce the impact on build times, the "ci_qemu_build_arm_thumb" CI step was split in two: "ci_qemu_build_arm_thumb_softfp" and "ci_qemu_build_arm_thumb_hardfp" - so hopefully those can run in parallel whenever possible. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
1 parent 4eaf55b commit e703b1e

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

.github/workflows/ports_qemu.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ jobs:
2626
ci_func: # names are functions in ci.sh
2727
- bigendian
2828
- sabrelite
29-
- thumb
29+
- thumb_softfp
30+
- thumb_hardfp
3031
runs-on: ubuntu-latest
3132
steps:
3233
- uses: actions/checkout@v4

tools/ci.sh

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,19 +342,30 @@ function ci_qemu_build_arm_sabrelite {
342342
make ${MAKEOPTS} -C ports/qemu BOARD=SABRELITE test_full
343343
}
344344

345-
function ci_qemu_build_arm_thumb {
345+
function ci_qemu_build_arm_thumb_softfp {
346346
ci_qemu_build_arm_prepare
347-
make ${MAKEOPTS} -C ports/qemu test_full
347+
make BOARD=MPS2_AN385 ${MAKEOPTS} -C ports/qemu test_full
348348

349-
# Test building native .mpy with all ARM-M architectures.
349+
# Test building native .mpy with ARM-M softfp architectures.
350350
ci_native_mpy_modules_build armv6m
351351
ci_native_mpy_modules_build armv7m
352+
353+
# Test running native .mpy with all ARM-M architectures.
354+
make BOARD=MPS2_AN385 ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv6m"
355+
make BOARD=MPS2_AN385 ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv7m"
356+
}
357+
358+
function ci_qemu_build_arm_thumb_hardfp {
359+
ci_qemu_build_arm_prepare
360+
make BOARD=MPS2_AN500 ${MAKEOPTS} -C ports/qemu test_full
361+
362+
# Test building native .mpy with all ARM-M hardfp architectures.
352363
ci_native_mpy_modules_build armv7emsp
353364
ci_native_mpy_modules_build armv7emdp
354365

355-
# Test running native .mpy with armv6m and armv7m architectures.
356-
make ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv6m"
357-
make ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv7m"
366+
# Test running native .mpy with all ARM-M hardfp architectures.
367+
make BOARD=MPS2_AN500 ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv7emsp"
368+
make BOARD=MPS2_AN500 ${MAKEOPTS} -C ports/qemu test_natmod RUN_TESTS_EXTRA="--arch armv7emdp"
358369
}
359370

360371
function ci_qemu_build_rv32 {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy