diff --git a/ci/docker/thumbv6m-none-eabi/Dockerfile b/ci/docker/thumbv6m-linux-eabi/Dockerfile similarity index 59% rename from ci/docker/thumbv6m-none-eabi/Dockerfile rename to ci/docker/thumbv6m-linux-eabi/Dockerfile index 2a2d127..d260356 100644 --- a/ci/docker/thumbv6m-none-eabi/Dockerfile +++ b/ci/docker/thumbv6m-linux-eabi/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y --no-install-recommends \ - ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev + ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev qemu-user-static RUN curl -LSfs https://japaric.github.io/trust/install.sh | \ sh -s -- --git japaric/xargo --tag v0.3.1 --target x86_64-unknown-linux-gnu --to /usr/bin -ENV AR_thumbv6m_none_eabi=arm-none-eabi-ar \ - CARGO_TARGET_THUMBV6M_NONE_EABI_LINKER=arm-none-eabi-gcc \ - CC_thumbv6m_none_eabi=arm-none-eabi-gcc \ +ENV AR_thumbv6m_linux_eabi=arm-none-eabi-ar \ + CARGO_TARGET_THUMBV6M_LINUX_EABI_LINKER=arm-none-eabi-gcc \ + CC_thumbv6m_linux_eabi=arm-none-eabi-gcc \ diff --git a/ci/docker/thumbv7em-none-eabihf/Dockerfile b/ci/docker/thumbv7em-linux-eabi/Dockerfile similarity index 59% rename from ci/docker/thumbv7em-none-eabihf/Dockerfile rename to ci/docker/thumbv7em-linux-eabi/Dockerfile index 5395e74..d630352 100644 --- a/ci/docker/thumbv7em-none-eabihf/Dockerfile +++ b/ci/docker/thumbv7em-linux-eabi/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y --no-install-recommends \ - ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev + ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev qemu-user-static RUN curl -LSfs https://japaric.github.io/trust/install.sh | \ sh -s -- --git japaric/xargo --tag v0.3.1 --target x86_64-unknown-linux-gnu --to /usr/bin -ENV AR_thumbv7em_none_eabihf=arm-none-eabi-ar \ - CARGO_TARGET_THUMBV7EM_NONE_EABIHF_LINKER=arm-none-eabi-gcc \ - CC_thumbv7em_none_eabihf=arm-none-eabi-gcc \ +ENV AR_thumbv7em_linux_eabi=arm-none-eabi-ar \ + CARGO_TARGET_THUMBV7EM_LINUX_EABI_LINKER=arm-none-eabi-gcc \ + CC_thumbv7em_linux_eabi=arm-none-eabi-gcc \ diff --git a/ci/docker/thumbv7m-none-eabi/Dockerfile b/ci/docker/thumbv7em-linux-eabihf/Dockerfile similarity index 58% rename from ci/docker/thumbv7m-none-eabi/Dockerfile rename to ci/docker/thumbv7em-linux-eabihf/Dockerfile index e09c020..6f30729 100644 --- a/ci/docker/thumbv7m-none-eabi/Dockerfile +++ b/ci/docker/thumbv7em-linux-eabihf/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y --no-install-recommends \ - ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev + ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev qemu-user-static RUN curl -LSfs https://japaric.github.io/trust/install.sh | \ sh -s -- --git japaric/xargo --tag v0.3.1 --target x86_64-unknown-linux-gnu --to /usr/bin -ENV AR_thumbv7m_none_eabi=arm-none-eabi-ar \ - CARGO_TARGET_THUMBV7M_NONE_EABI_LINKER=arm-none-eabi-gcc \ - CC_thumbv7m_none_eabi=arm-none-eabi-gcc \ +ENV AR_thumbv7em_linux_eabihf=arm-none-eabi-ar \ + CARGO_TARGET_THUMBV7EM_LINUX_EABIHF_LINKER=arm-none-eabi-gcc \ + CC_thumbv7em_linux_eabihf=arm-none-eabi-gcc \ diff --git a/ci/docker/thumbv7em-none-eabi/Dockerfile b/ci/docker/thumbv7m-linux-eabi/Dockerfile similarity index 59% rename from ci/docker/thumbv7em-none-eabi/Dockerfile rename to ci/docker/thumbv7m-linux-eabi/Dockerfile index fda5dcb..a7dbad6 100644 --- a/ci/docker/thumbv7em-none-eabi/Dockerfile +++ b/ci/docker/thumbv7m-linux-eabi/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y --no-install-recommends \ - ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev + ca-certificates curl gcc gcc-arm-none-eabi libc6-dev libcurl4-openssl-dev libssh2-1 libnewlib-dev qemu-user-static RUN curl -LSfs https://japaric.github.io/trust/install.sh | \ sh -s -- --git japaric/xargo --tag v0.3.1 --target x86_64-unknown-linux-gnu --to /usr/bin -ENV AR_thumbv7em_none_eabi=arm-none-eabi-ar \ - CARGO_TARGET_THUMBV7EM_NONE_EABI_LINKER=arm-none-eabi-gcc \ - CC_thumbv7em_none_eabi=arm-none-eabi-gcc \ +ENV AR_thumbv7m_linux_eabi=arm-none-eabi-ar \ + CARGO_TARGET_THUMBV7M_LINUX_EABI_LINKER=arm-none-eabi-gcc \ + CC_thumbv7m_linux_eabi=arm-none-eabi-gcc \ diff --git a/ci/run.sh b/ci/run.sh index b30fad1..17c54ef 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -3,8 +3,34 @@ set -ex # Test our implementation case $1 in thumb*) - xargo build --target $1 - xargo build --target $1 --release + for t in $(ls tests); do + t=${t%.rs} + + # TODO(#154) enable these tests when aeabi_*mul are implemented + case $t in + powi*f2) + continue + ;; + esac + + # FIXME(#150) debug assertion in divmoddi4 + case $1 in + thumbv6m-*) + case $t in + divdi3 | divmoddi4 | moddi3 | modsi3 | udivmoddi4 | udivmodsi4 | umoddi3 | \ + umodsi3) + continue + ;; + esac + ;; + esac + + xargo test --test $t --target $1 --features mem --no-run + qemu-arm-static target/${1}/debug/$t-* + + xargo test --test $t --target $1 --features mem --no-run --release + qemu-arm-static target/${1}/release/$t-* + done ;; *) cargo test --no-default-features --target $1