Files
ww/test/package/runtime/record_continue_test.ww

31 lines
741 B
Plaintext

// Record-and-continue: one passing test, then the three runtime fault
// classes the lib/test fork+wait4 runner must each catch and PROCEED
// past (failed assert, nil deref -> SIGSEGV, divide-by-zero -> SIGFPE),
// then a final passing test to prove the run reaches the tail after
// every failure. Ported from the retired 911_attest_record carrier and
// its test/wcc/data/attest_record.ww fixture.
package runtime_record_continue_test;
@test fn rec_pass_a() void = {
assert(1 + 1 == 2);
};
@test fn rec_assert() void = {
assert(1 == 2);
};
@test fn rec_segv() void = {
let p: *i32 = nil: *i32;
*p = 7i32;
};
@test fn rec_div0() void = {
let z: i32 = 0;
let _: i32 = 1 / z;
};
@test fn rec_pass_b() void = {
assert(true);
};