Skip to content

Commit 6322dbd

Browse files
authored
compiler: test runner: fix tests never fails on crippled architectures (ziglang#24180)
* compiler: test runner: fix tests never fails on crippled architectures * riscv64: skip failing tests * riscv64: enable test summary printing
2 parents 0adcfd6 + ff06de4 commit 6322dbd

18 files changed

+37
-2
lines changed

lib/compiler/test_runner.zig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ pub fn mainSimple() anyerror!void {
292292
};
293293
// is the backend capable of using std.fmt.format to print a summary at the end?
294294
const print_summary = switch (builtin.zig_backend) {
295+
.stage2_riscv64 => true,
295296
else => false,
296297
};
297298

@@ -309,7 +310,7 @@ pub fn mainSimple() anyerror!void {
309310
stderr.writeAll("... ") catch {};
310311
stderr.writeAll("PASS\n") catch {};
311312
}
312-
} else |err| if (enable_print) {
313+
} else |err| {
313314
if (enable_print) {
314315
stderr.writeAll(test_fn.name) catch {};
315316
stderr.writeAll("... ") catch {};

test/behavior/align.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,7 @@ test "struct field explicit alignment" {
409409
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
410410
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
411411
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; // flaky
412+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
412413

413414
const S = struct {
414415
const Node = struct {
@@ -532,6 +533,7 @@ test "alignment of zero-bit types is respected" {
532533
if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
533534
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
534535
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
536+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
535537

536538
const S = struct { arr: [0]usize = .{} };
537539

test/behavior/atomics.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ test "atomic load and rmw with enum" {
153153
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
154154
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
155155
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
156+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
156157

157158
const Value = enum(u8) { a, b, c };
158159
var x = Value.a;
@@ -188,6 +189,7 @@ test "atomicrmw with floats" {
188189
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
189190
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
190191
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
192+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
191193

192194
try testAtomicRmwFloat();
193195
try comptime testAtomicRmwFloat();

test/behavior/bitcast.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ test "@bitCast of packed struct of bools all true" {
477477
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
478478
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
479479
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; // TODO
480+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
480481

481482
const P = packed struct {
482483
b0: bool,

test/behavior/cast.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,6 +1793,7 @@ test "peer type resolution: array and vector with same child type" {
17931793
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
17941794
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
17951795
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
1796+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
17961797

17971798
var arr: [2]u32 = .{ 0, 1 };
17981799
var vec: @Vector(2, u32) = .{ 2, 3 };
@@ -1931,6 +1932,7 @@ test "peer type resolution: vector and optional vector" {
19311932
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
19321933
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
19331934
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; // TODO
1935+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
19341936

19351937
var a: ?@Vector(3, u32) = .{ 0, 1, 2 };
19361938
var b: @Vector(3, u32) = .{ 3, 4, 5 };

test/behavior/cast_int.zig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ test "coerce i8 to i32 and @intCast back" {
3535
}
3636

3737
test "coerce non byte-sized integers accross 32bits boundary" {
38+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
3839
{
3940
var v: u21 = 6417;
4041
_ = &v;
@@ -166,6 +167,7 @@ const Piece = packed struct {
166167
test "load non byte-sized optional value" {
167168
// Originally reported at https://github.com/ziglang/zig/issues/14200
168169
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
170+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
169171

170172
// note: this bug is triggered by the == operator, expectEqual will hide it
171173
const opt: ?Piece = try Piece.charToPiece('p');
@@ -181,6 +183,7 @@ test "load non byte-sized optional value" {
181183
test "load non byte-sized value in struct" {
182184
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
183185
if (builtin.cpu.arch.endian() != .little) return error.SkipZigTest; // packed struct TODO
186+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
184187

185188
// note: this bug is triggered by the == operator, expectEqual will hide it
186189
// using ptrCast not to depend on unitialised memory state

test/behavior/enum.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,6 +1121,7 @@ test "bit field access with enum fields" {
11211121
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
11221122
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11231123
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
1124+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
11241125

11251126
var data = bit_field_1;
11261127
try expect(getA(&data) == A.Two);

test/behavior/error.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,6 +1087,7 @@ test "result location initialization of error union with OPV payload" {
10871087
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10881088
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10891089
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
1090+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
10901091

10911092
const S = struct {
10921093
x: u0,

test/behavior/generics.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,7 @@ test "generic struct as parameter type" {
412412

413413
test "slice as parameter type" {
414414
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
415+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
415416

416417
const S = struct {
417418
fn internComptimeString(comptime str: []const u8) *const []const u8 {

test/behavior/math.zig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ test "@clz" {
6666
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
6767
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
6868
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
69-
69+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
7070
try testClz();
7171
try comptime testClz();
7272
}
@@ -870,6 +870,7 @@ test "@addWithOverflow" {
870870
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
871871
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
872872
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
873+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
873874

874875
try testAddWithOverflow(u8, 250, 100, 94, 1);
875876
try testAddWithOverflow(u8, 100, 150, 250, 0);
@@ -931,6 +932,7 @@ test "@addWithOverflow > 64 bits" {
931932
test "small int addition" {
932933
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
933934
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
935+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
934936

935937
var x: u2 = 0;
936938
try expect(x == 0);
@@ -958,6 +960,7 @@ fn testMulWithOverflow(comptime T: type, a: T, b: T, mul: T, bit: u1) !void {
958960
test "basic @mulWithOverflow" {
959961
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
960962
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
963+
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
961964

962965
try testMulWithOverflow(u8, 86, 3, 2, 1);
963966
try testMulWithOverflow(u8, 85, 3, 255, 0);

0 commit comments

Comments
 (0)