| author | |
| committer | |
| log | cb1fe0e578de6ebda4650a8404a85a3bb6e2476a |
| tree | ac564738a6ab76ddece77871d4ee19ee2a9fb3db |
| parent | a76ce771082c3bf126e9ed745607bc8dadb56c61 |
| parent | c461befcf95699ec9d1d5e68fd1a87f1c520d497 |
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/3525610 files changed, 38 insertions(+), 2 deletions(-)
ci/aarch64-macos-debug.sh+7-1| ... | @@ -48,7 +48,13 @@ stage3-debug/bin/zig build test docs \ | ... | @@ -48,7 +48,13 @@ stage3-debug/bin/zig build test docs \ |
| 48 | --zig-lib-dir "$PWD/../lib" \ | 48 | --zig-lib-dir "$PWD/../lib" \ |
| 49 | -Denable-macos-sdk \ | 49 | -Denable-macos-sdk \ |
| 50 | -Dstatic-llvm \ | 50 | -Dstatic-llvm \ |
| 51 | -Dskip-non-native \ | 51 | -Dskip-spirv \ |
| 52 | -Dskip-wasm \ | ||
| 53 | -Dskip-linux \ | ||
| 54 | -Dskip-freebsd \ | ||
| 55 | -Dskip-netbsd \ | ||
| 56 | -Dskip-openbsd \ | ||
| 57 | -Dskip-windows \ | ||
| 52 | --search-prefix "$PREFIX" \ | 58 | --search-prefix "$PREFIX" \ |
| 53 | --test-timeout 2m | 59 | --test-timeout 2m |
| 54 | 60 |
ci/aarch64-macos-release.sh+7-1| ... | @@ -47,7 +47,13 @@ stage3-release/bin/zig build test docs \ | ... | @@ -47,7 +47,13 @@ stage3-release/bin/zig build test docs \ |
| 47 | --zig-lib-dir "$PWD/../lib" \ | 47 | --zig-lib-dir "$PWD/../lib" \ |
| 48 | -Denable-macos-sdk \ | 48 | -Denable-macos-sdk \ |
| 49 | -Dstatic-llvm \ | 49 | -Dstatic-llvm \ |
| 50 | -Dskip-non-native \ | 50 | -Dskip-spirv \ |
| 51 | -Dskip-wasm \ | ||
| 52 | -Dskip-linux \ | ||
| 53 | -Dskip-freebsd \ | ||
| 54 | -Dskip-netbsd \ | ||
| 55 | -Dskip-openbsd \ | ||
| 56 | -Dskip-windows \ | ||
| 51 | --search-prefix "$PREFIX" \ | 57 | --search-prefix "$PREFIX" \ |
| 52 | --test-timeout 2m | 58 | --test-timeout 2m |
| 53 | 59 |
lib/std/math/acos.zig+4| ... | @@ -337,6 +337,8 @@ fn acosBinary128(x: f128) f128 { | ... | @@ -337,6 +337,8 @@ fn acosBinary128(x: f128) f128 { |
| 337 | } | 337 | } |
| 338 | 338 | ||
| 339 | test "acosBinary16.special" { | 339 | test "acosBinary16.special" { |
| 340 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 341 | |||
| 340 | try testing.expectApproxEqAbs(0x1.92p0, acosBinary16(0x0p+0), math.floatEpsAt(f16, 0x1.92p0)); | 342 | try testing.expectApproxEqAbs(0x1.92p0, acosBinary16(0x0p+0), math.floatEpsAt(f16, 0x1.92p0)); |
| 341 | try testing.expectApproxEqAbs(0x1.92p1, acosBinary16(-0x1p+0), math.floatEpsAt(f16, 0x1.92p1)); | 343 | try testing.expectApproxEqAbs(0x1.92p1, acosBinary16(-0x1p+0), math.floatEpsAt(f16, 0x1.92p1)); |
| 342 | try testing.expectEqual(0x0p+0, acosBinary16(0x1p+0)); | 344 | try testing.expectEqual(0x0p+0, acosBinary16(0x1p+0)); |
| ... | @@ -348,6 +350,8 @@ test "acosBinary16.special" { | ... | @@ -348,6 +350,8 @@ test "acosBinary16.special" { |
| 348 | } | 350 | } |
| 349 | 351 | ||
| 350 | test "acosBinary16" { | 352 | test "acosBinary16" { |
| 353 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 354 | |||
| 351 | try testing.expectApproxEqAbs(0x1.834p0, acosBinary16(0x1.db4p-5), math.floatEpsAt(f16, 0x1.834p0)); | 355 | try testing.expectApproxEqAbs(0x1.834p0, acosBinary16(0x1.db4p-5), math.floatEpsAt(f16, 0x1.834p0)); |
| 352 | try testing.expectApproxEqAbs(0x1.d48p0, acosBinary16(-0x1.068p-2), math.floatEpsAt(f16, 0x1.d48p0)); | 356 | try testing.expectApproxEqAbs(0x1.d48p0, acosBinary16(-0x1.068p-2), math.floatEpsAt(f16, 0x1.d48p0)); |
| 353 | try testing.expectApproxEqAbs(0x1.b7cp0, acosBinary16(-0x1.2c4p-3), math.floatEpsAt(f16, 0x1.b7cp0)); | 357 | try testing.expectApproxEqAbs(0x1.b7cp0, acosBinary16(-0x1.2c4p-3), math.floatEpsAt(f16, 0x1.b7cp0)); |
lib/std/math/asin.zig+4| ... | @@ -326,6 +326,8 @@ fn asinBinary128(x: f128) f128 { | ... | @@ -326,6 +326,8 @@ fn asinBinary128(x: f128) f128 { |
| 326 | } | 326 | } |
| 327 | 327 | ||
| 328 | test "asinBinary16.special" { | 328 | test "asinBinary16.special" { |
| 329 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 330 | |||
| 329 | try testing.expectApproxEqAbs(0x1.92p0, asinBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p0)); | 331 | try testing.expectApproxEqAbs(0x1.92p0, asinBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p0)); |
| 330 | try testing.expectApproxEqAbs(-0x1.92p0, asinBinary16(-0x1p+0), math.floatEpsAt(f16, -0x1.92p0)); | 332 | try testing.expectApproxEqAbs(-0x1.92p0, asinBinary16(-0x1p+0), math.floatEpsAt(f16, -0x1.92p0)); |
| 331 | try testing.expectEqual(0x0p+0, asinBinary16(0x0p+0)); | 333 | try testing.expectEqual(0x0p+0, asinBinary16(0x0p+0)); |
| ... | @@ -338,6 +340,8 @@ test "asinBinary16.special" { | ... | @@ -338,6 +340,8 @@ test "asinBinary16.special" { |
| 338 | } | 340 | } |
| 339 | 341 | ||
| 340 | test "asinBinary16" { | 342 | test "asinBinary16" { |
| 343 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 344 | |||
| 341 | try testing.expectApproxEqAbs(-0x1.e4cp-6, asinBinary16(-0x1.e4cp-6), math.floatEpsAt(f16, -0x1.e4cp-6)); | 345 | try testing.expectApproxEqAbs(-0x1.e4cp-6, asinBinary16(-0x1.e4cp-6), math.floatEpsAt(f16, -0x1.e4cp-6)); |
| 342 | try testing.expectApproxEqAbs(0x1.2a8p0, asinBinary16(0x1.d68p-1), math.floatEpsAt(f16, 0x1.2a8p0)); | 346 | try testing.expectApproxEqAbs(0x1.2a8p0, asinBinary16(0x1.d68p-1), math.floatEpsAt(f16, 0x1.2a8p0)); |
| 343 | try testing.expectApproxEqAbs(-0x1.eep-1, asinBinary16(-0x1.a4cp-1), math.floatEpsAt(f16, -0x1.eep-1)); | 347 | try testing.expectApproxEqAbs(-0x1.eep-1, asinBinary16(-0x1.a4cp-1), math.floatEpsAt(f16, -0x1.eep-1)); |
lib/std/math/atan.zig+5| ... | @@ -11,6 +11,7 @@ | ... | @@ -11,6 +11,7 @@ |
| 11 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atanf.c | 11 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atanf.c |
| 12 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atan.c | 12 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atan.c |
| 13 | 13 | ||
| 14 | const builtin = @import("builtin"); | ||
| 14 | const std = @import("../std.zig"); | 15 | const std = @import("../std.zig"); |
| 15 | const math = std.math; | 16 | const math = std.math; |
| 16 | const mem = std.mem; | 17 | const mem = std.mem; |
| ... | @@ -480,6 +481,8 @@ fn atanBinary128(x: f128) f128 { | ... | @@ -480,6 +481,8 @@ fn atanBinary128(x: f128) f128 { |
| 480 | } | 481 | } |
| 481 | 482 | ||
| 482 | test "atanBinary16.special" { | 483 | test "atanBinary16.special" { |
| 484 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 485 | |||
| 483 | try testing.expectEqual(0x0p+0, atanBinary16(0x0p+0)); | 486 | try testing.expectEqual(0x0p+0, atanBinary16(0x0p+0)); |
| 484 | try testing.expectEqual(-0x0p+0, atanBinary16(-0x0p+0)); | 487 | try testing.expectEqual(-0x0p+0, atanBinary16(-0x0p+0)); |
| 485 | try testing.expectApproxEqAbs(0x1.92p-1, atanBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p-1)); | 488 | try testing.expectApproxEqAbs(0x1.92p-1, atanBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p-1)); |
| ... | @@ -490,6 +493,8 @@ test "atanBinary16.special" { | ... | @@ -490,6 +493,8 @@ test "atanBinary16.special" { |
| 490 | } | 493 | } |
| 491 | 494 | ||
| 492 | test "atanBinary16" { | 495 | test "atanBinary16" { |
| 496 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 497 | |||
| 493 | try testing.expectApproxEqAbs(-0x1.74cp-2, atanBinary16(-0x1.864p-2), math.floatEpsAt(f16, -0x1.74cp-2)); | 498 | try testing.expectApproxEqAbs(-0x1.74cp-2, atanBinary16(-0x1.864p-2), math.floatEpsAt(f16, -0x1.74cp-2)); |
| 494 | try testing.expectApproxEqAbs(-0x1.374p0, atanBinary16(-0x1.59cp1), math.floatEpsAt(f16, -0x1.374p0)); | 499 | try testing.expectApproxEqAbs(-0x1.374p0, atanBinary16(-0x1.59cp1), math.floatEpsAt(f16, -0x1.374p0)); |
| 495 | try testing.expectApproxEqAbs(-0x1.11cp0, atanBinary16(-0x1.d2cp0), math.floatEpsAt(f16, -0x1.11cp0)); | 500 | try testing.expectApproxEqAbs(-0x1.11cp0, atanBinary16(-0x1.d2cp0), math.floatEpsAt(f16, -0x1.11cp0)); |
lib/std/math/hypot.zig+4| ... | @@ -98,7 +98,9 @@ test hypot { | ... | @@ -98,7 +98,9 @@ test hypot { |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | test "hypot.correct" { | 100 | test "hypot.correct" { |
| 101 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 101 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 | 102 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 |
| 103 | |||
| 102 | inline for (.{ f16, f32, f64, f128 }) |T| { | 104 | inline for (.{ f16, f32, f64, f128 }) |T| { |
| 103 | inline for (hypot_test_cases) |v| { | 105 | inline for (hypot_test_cases) |v| { |
| 104 | const a: T, const b: T, const c: T = v; | 106 | const a: T, const b: T, const c: T = v; |
| ... | @@ -108,7 +110,9 @@ test "hypot.correct" { | ... | @@ -108,7 +110,9 @@ test "hypot.correct" { |
| 108 | } | 110 | } |
| 109 | 111 | ||
| 110 | test "hypot.precise" { | 112 | test "hypot.precise" { |
| 113 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 111 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 | 114 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 |
| 115 | |||
| 112 | inline for (.{ f16, f32, f64 }) |T| { // f128 seems to be 5 ulp | 116 | inline for (.{ f16, f32, f64 }) |T| { // f128 seems to be 5 ulp |
| 113 | inline for (hypot_test_cases) |v| { | 117 | inline for (hypot_test_cases) |v| { |
| 114 | const a: T, const b: T, const c: T = v; | 118 | const a: T, const b: T, const c: T = v; |
test/behavior/cast.zig+1| ... | @@ -1722,6 +1722,7 @@ test "cast f16 to wider types" { | ... | @@ -1722,6 +1722,7 @@ test "cast f16 to wider types" { |
| 1722 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; | 1722 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 1723 | if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest; | 1723 | if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest; |
| 1724 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; | 1724 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 1725 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 1725 | 1726 | ||
| 1726 | const S = struct { | 1727 | const S = struct { |
| 1727 | fn doTheTest() !void { | 1728 | fn doTheTest() !void { |
test/behavior/vector.zig+1| ... | @@ -278,6 +278,7 @@ test "array to vector with element type coercion" { | ... | @@ -278,6 +278,7 @@ test "array to vector with element type coercion" { |
| 278 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 278 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 279 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; | 279 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 280 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; | 280 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 281 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 281 | 282 | ||
| 282 | const S = struct { | 283 | const S = struct { |
| 283 | fn doTheTest() !void { | 284 | fn doTheTest() !void { |
test/behavior/widening.zig+1| ... | @@ -42,6 +42,7 @@ test "float widening" { | ... | @@ -42,6 +42,7 @@ test "float widening" { |
| 42 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 42 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 43 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; | 43 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 44 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; | 44 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 45 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | ||
| 45 | 46 | ||
| 46 | var a: f16 = 12.34; | 47 | var a: f16 = 12.34; |
| 47 | var b: f32 = a; | 48 | var b: f32 = a; |
test/tests.zig+4| ... | @@ -2722,6 +2722,10 @@ fn addOneModuleTest( | ... | @@ -2722,6 +2722,10 @@ fn addOneModuleTest( |
| 2722 | // Don't run spirv binaries | 2722 | // Don't run spirv binaries |
| 2723 | _ = these_tests.getEmittedBin(); | 2723 | _ = these_tests.getEmittedBin(); |
| 2724 | step.dependOn(&these_tests.step); | 2724 | step.dependOn(&these_tests.step); |
| 2725 | } else if (target.cpu.arch == .x86_64 and target.os.tag.isDarwin()) { | ||
| 2726 | // https://codeberg.org/ziglang/zig/issues/35267 | ||
| 2727 | _ = these_tests.getEmittedBin(); | ||
| 2728 | step.dependOn(&these_tests.step); | ||
| 2725 | } else { | 2729 | } else { |
| 2726 | const run = b.addRunArtifact(these_tests); | 2730 | const run = b.addRunArtifact(these_tests); |
| 2727 | run.skip_foreign_checks = true; | 2731 | run.skip_foreign_checks = true; |