summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/ci.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/ci.sh b/tools/ci.sh
index c986c9fef..23e529e5e 100755
--- a/tools/ci.sh
+++ b/tools/ci.sh
@@ -292,6 +292,13 @@ CI_UNIX_OPTS_SYS_SETTRACE_STACKLESS=(
CFLAGS_EXTRA="-DMICROPY_STACKLESS=1 -DMICROPY_STACKLESS_STRICT=1 -DMICROPY_PY_SYS_SETTRACE=1"
)
+CI_UNIX_OPTS_QEMU_MIPS=(
+ CROSS_COMPILE=mips-linux-gnu-
+ VARIANT=coverage
+ MICROPY_STANDALONE=1
+ LDFLAGS_EXTRA="-static"
+)
+
function ci_unix_build_helper {
make ${MAKEOPTS} -C mpy-cross
make ${MAKEOPTS} -C ports/unix "$@" submodules
@@ -478,6 +485,26 @@ function ci_unix_macos_run_tests {
(cd tests && ./run-tests.py --exclude 'uasyncio_(basic|heaplock|lock|wait_task)' --exclude 'import_pkg7.py' --exclude 'urandom_basic.py')
}
+function ci_unix_qemu_mips_setup {
+ sudo apt-get update
+ sudo apt-get install gcc-mips-linux-gnu g++-mips-linux-gnu
+ sudo apt-get install qemu-user
+ qemu-mips --version
+}
+
+function ci_unix_qemu_mips_build {
+ # qemu-mips on GitHub Actions will seg-fault if not linked statically
+ ci_unix_build_helper "${CI_UNIX_OPTS_QEMU_MIPS[@]}"
+}
+
+function ci_unix_qemu_mips_run_tests {
+ # Issues with MIPS tests:
+ # - (i)listdir does not work, it always returns the empty list (it's an issue with the underlying C call)
+ # - ffi tests do not work
+ file ./ports/unix/micropython-coverage
+ (cd tests && MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py --exclude 'vfs_posix.py' --exclude 'ffi_(callback|float|float2).py')
+}
+
########################################################################################
# ports/windows