Skip to content
This repository was archived by the owner on Apr 28, 2025. It is now read-only.

Commit 3a81e92

Browse files
committed
Run tests against MPFR on CI where possible
This effectively gives us tests against infinite-precision results on MacOS and x86+sse Linux.
1 parent c15a115 commit 3a81e92

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM ubuntu:24.04
33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
55
gcc libc6-dev ca-certificates \
6-
gcc-aarch64-linux-gnu libc6-dev-arm64-cross \
6+
gcc-aarch64-linux-gnu m4 make libc6-dev-arm64-cross \
77
qemu-user-static
88

99
ENV TOOLCHAIN_PREFIX=aarch64-linux-gnu-

ci/docker/i686-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ FROM ubuntu:24.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
5-
gcc-multilib libc6-dev ca-certificates
5+
gcc-multilib m4 make libc6-dev ca-certificates

ci/docker/x86_64-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ FROM ubuntu:24.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
5-
gcc libc6-dev ca-certificates
5+
gcc m4 make libc6-dev ca-certificates

ci/run.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,22 @@ case "$target" in
2424
*thumb*) extra_flags="$extra_flags --exclude musl-math-sys" ;;
2525
esac
2626

27+
# Configure which targets test against MPFR
28+
case "$target" in
29+
# MSVC cannot link MPFR
30+
*windows-msvc*) ;;
31+
# FIXME: MinGW should be able to build MPFR, but setup in CI is nontrivial.
32+
*windows-gnu*) ;;
33+
# Targets that aren't cross compiled work fine
34+
# FIXME(ci): we should be able to enable aarch64 Linux here once GHA
35+
# support rolls out.
36+
x86_64*) extra_flags="$extra_flags --features libm-test/multiprecision-tests" ;;
37+
# i686 works fine, i586 does not
38+
i686*) extra_flags="$extra_flags --features libm-test/multiprecision-tests" ;;
39+
# Apple aarch64 is native
40+
aarch64*apple*) extra_flags="$extra_flags --features libm-test/multiprecision-tests" ;;
41+
esac
42+
2743
# FIXME: `STATUS_DLL_NOT_FOUND` testing macros on CI.
2844
# <https://github.com/rust-lang/rust/issues/128944>
2945
case "$target" in

0 commit comments

Comments
 (0)