test: migrate 700_e2e rows to corpus fixtures; retire the carrier
136 rows migrated, 0 already owned, 3 wwstage-failing rows held out.
This commit is contained in:
30
test/wcc/data/r700_def_sentinel_err/case.ww
Normal file
30
test/wcc/data/r700_def_sentinel_err/case.ww
Normal file
@@ -0,0 +1,30 @@
|
||||
//ww:run-exit 19
|
||||
// Migrated from 700_e2e row 96.
|
||||
package main;
|
||||
type error = str;
|
||||
def eEOF: error = "eof";
|
||||
def eShortRead: error = "short read";
|
||||
fn read(n: i64) (i64 | error) = {
|
||||
if (n < 0) { return eEOF; };
|
||||
if (n == 0) { return eShortRead; };
|
||||
return n + 1;
|
||||
};
|
||||
fn main() i32 = {
|
||||
let r0: (i64 | error) = read(0);
|
||||
let r1: (i64 | error) = read(-1);
|
||||
let r2: (i64 | error) = read(5);
|
||||
let acc: i32 = 0;
|
||||
match (r0) {
|
||||
case let v: i64 => acc += 100;
|
||||
case let e: error => acc += e.len: i32;
|
||||
};
|
||||
match (r1) {
|
||||
case let v: i64 => acc += 100;
|
||||
case let e: error => acc += e.len: i32;
|
||||
};
|
||||
match (r2) {
|
||||
case let v: i64 => acc += v: i32;
|
||||
case let e: error => acc += 100;
|
||||
};
|
||||
return acc;
|
||||
};
|
||||
Reference in New Issue
Block a user