mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
behavior and cases: more test coverage for old issues
Closes #2622 Closes #2727 Closes #6047 Closes #6947 Closes #6656
This commit is contained in:
parent
bf863878ac
commit
654e30069d
@ -43,7 +43,9 @@ test {
|
||||
_ = @import("behavior/bugs/2346.zig");
|
||||
_ = @import("behavior/bugs/2557.zig");
|
||||
_ = @import("behavior/bugs/2578.zig");
|
||||
_ = @import("behavior/bugs/2622.zig");
|
||||
_ = @import("behavior/bugs/2692.zig");
|
||||
_ = @import("behavior/bugs/2727.zig");
|
||||
_ = @import("behavior/bugs/2889.zig");
|
||||
_ = @import("behavior/bugs/3007.zig");
|
||||
_ = @import("behavior/bugs/3046.zig");
|
||||
@ -62,10 +64,12 @@ test {
|
||||
_ = @import("behavior/bugs/5413.zig");
|
||||
_ = @import("behavior/bugs/5474.zig");
|
||||
_ = @import("behavior/bugs/5487.zig");
|
||||
_ = @import("behavior/bugs/6047.zig");
|
||||
_ = @import("behavior/bugs/6456.zig");
|
||||
_ = @import("behavior/bugs/6781.zig");
|
||||
_ = @import("behavior/bugs/6850.zig");
|
||||
_ = @import("behavior/bugs/6905.zig");
|
||||
_ = @import("behavior/bugs/6947.zig");
|
||||
_ = @import("behavior/bugs/7003.zig");
|
||||
_ = @import("behavior/bugs/7047.zig");
|
||||
_ = @import("behavior/bugs/7187.zig");
|
||||
|
||||
16
test/behavior/bugs/2622.zig
Normal file
16
test/behavior/bugs/2622.zig
Normal file
@ -0,0 +1,16 @@
|
||||
const builtin = @import("builtin");
|
||||
|
||||
var buf: []u8 = undefined;
|
||||
|
||||
test "reslice of undefined global var slice" {
|
||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
|
||||
var mem: [100]u8 = [_]u8{0} ** 100;
|
||||
buf = &mem;
|
||||
const x = buf[0..1];
|
||||
try @import("std").testing.expect(x.len == 1 and x[0] == 0);
|
||||
}
|
||||
18
test/behavior/bugs/2727.zig
Normal file
18
test/behavior/bugs/2727.zig
Normal file
@ -0,0 +1,18 @@
|
||||
const builtin = @import("builtin");
|
||||
|
||||
fn t() bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
test {
|
||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
|
||||
comptime var i: usize = 0;
|
||||
inline while (i < 2) : (i += 1) {
|
||||
if (t()) {} else return;
|
||||
}
|
||||
}
|
||||
20
test/behavior/bugs/6047.zig
Normal file
20
test/behavior/bugs/6047.zig
Normal file
@ -0,0 +1,20 @@
|
||||
const builtin = @import("builtin");
|
||||
|
||||
fn getError() !void {
|
||||
return error.Test;
|
||||
}
|
||||
|
||||
fn getError2() !void {
|
||||
var a: u8 = 'c';
|
||||
try if (a == 'a') getError() else if (a == 'b') getError() else getError();
|
||||
}
|
||||
|
||||
test "`try`ing an if/else expression" {
|
||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
|
||||
try @import("std").testing.expectError(error.Test, getError2());
|
||||
}
|
||||
16
test/behavior/bugs/6947.zig
Normal file
16
test/behavior/bugs/6947.zig
Normal file
@ -0,0 +1,16 @@
|
||||
const builtin = @import("builtin");
|
||||
|
||||
fn destroy(ptr: *void) void {
|
||||
_ = ptr;
|
||||
}
|
||||
|
||||
test {
|
||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
|
||||
var slice: []void = undefined;
|
||||
destroy(&slice[0]);
|
||||
}
|
||||
@ -41,7 +41,7 @@ pub export fn entry4() void {
|
||||
_ = U.foo(.{ .foo = 2, .bar = 2 });
|
||||
}
|
||||
pub export fn entry5() void {
|
||||
comptime var y = .{ 1, 2};
|
||||
comptime var y = .{ 1, 2 };
|
||||
y = .{ 3, 4 };
|
||||
}
|
||||
// pub export fn entry5() void {
|
||||
@ -52,7 +52,15 @@ pub export fn entry5() void {
|
||||
// };
|
||||
// _ = S.foo(.{ -1234, 5679, x });
|
||||
// }
|
||||
|
||||
pub export fn entry6() void {
|
||||
const State = struct {
|
||||
comptime id: bool = true,
|
||||
fn init(comptime id: bool) @This() {
|
||||
return @This(){ .id = id };
|
||||
}
|
||||
};
|
||||
_ = State.init(false);
|
||||
}
|
||||
|
||||
// error
|
||||
// target=native
|
||||
@ -65,3 +73,4 @@ pub export fn entry5() void {
|
||||
// :25:29: note: default value set here
|
||||
// :41:16: error: value stored in comptime field does not match the default value of the field
|
||||
// :45:12: error: value stored in comptime field does not match the default value of the field
|
||||
// :59:35: error: value stored in comptime field does not match the default value of the field
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user