From 26119bd98d2f867eb06eeea9431883931d806dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 28 Aug 2024 21:04:45 +0200 Subject: [PATCH] test: Skip some floating point tests that fail on `arm-linux-(gnu,musl)eabi`. https://github.com/ziglang/zig/issues/21234 --- lib/std/math/gamma.zig | 3 +++ test/behavior/floatop.zig | 2 ++ test/behavior/math.zig | 1 + 3 files changed, 6 insertions(+) diff --git a/lib/std/math/gamma.zig b/lib/std/math/gamma.zig index ce37db4962..5ac041e195 100644 --- a/lib/std/math/gamma.zig +++ b/lib/std/math/gamma.zig @@ -3,6 +3,7 @@ // // https://git.musl-libc.org/cgit/musl/tree/src/math/tgamma.c +const builtin = @import("builtin"); const std = @import("../std.zig"); /// Returns the gamma function of x, @@ -262,6 +263,8 @@ test gamma { } test "gamma.special" { + if (builtin.cpu.arch.isArmOrThumb() and builtin.target.floatAbi() == .soft) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/21234 + inline for (&.{ f32, f64 }) |T| { try expect(std.math.isNan(gamma(T, -std.math.nan(T)))); try expect(std.math.isNan(gamma(T, std.math.nan(T)))); diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig index f9f2579b0a..d799c91331 100644 --- a/test/behavior/floatop.zig +++ b/test/behavior/floatop.zig @@ -126,6 +126,7 @@ test "cmp f16" { if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest; if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.cpu.arch.isArmOrThumb() and builtin.target.floatAbi() == .soft) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/21234 try testCmp(f16); try comptime testCmp(f16); @@ -134,6 +135,7 @@ test "cmp f16" { test "cmp f32/f64" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest; + if (builtin.cpu.arch.isArmOrThumb() and builtin.target.floatAbi() == .soft) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/21234 try testCmp(f32); try comptime testCmp(f32); diff --git a/test/behavior/math.zig b/test/behavior/math.zig index 7837ffb74b..c658ea3081 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -1597,6 +1597,7 @@ test "NaN comparison" { if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest; if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.cpu.arch.isArmOrThumb() and builtin.target.floatAbi() == .soft) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/21234 try testNanEqNan(f16); try testNanEqNan(f32);