test/wcc/data: grow the declarative compiler corpus to 1,224 fixtures
The r-prefixed waves absorb the runtime, reject, and byte-compare rows of the migrated native carriers; each fixture is one directory with one case.ww and a //ww:error, //ww:compile, //ww:run, or //ww:run-exit directive covering both frontends.
This commit is contained in:
26
test/wcc/data/r775_branched_readers/case.ww
Normal file
26
test/wcc/data/r775_branched_readers/case.ww
Normal file
@@ -0,0 +1,26 @@
|
||||
//ww:run-exit 95
|
||||
// Migrated from 775_io_vtable_run row branched_readers.
|
||||
package main;
|
||||
import io;
|
||||
fn r1(s: io.stream, buf: []u8) (size | io.eof | io.error) = {
|
||||
return 1: size;
|
||||
};
|
||||
fn r2(s: io.stream, buf: []u8) (size | io.eof | io.error) = {
|
||||
return 2: size;
|
||||
};
|
||||
export fn main() i32 = {
|
||||
let vt1: io.vtable;
|
||||
let vt2: io.vtable;
|
||||
vt1.reader = (&r1): *io.reader;
|
||||
vt2.reader = (&r2): *io.reader;
|
||||
let buf: [4]u8;
|
||||
let bs: []u8 = buf[0:4];
|
||||
let a = io.read(&vt1, bs);
|
||||
let b = io.read(&vt2, bs);
|
||||
let asz: size = 0;
|
||||
let bsz: size = 0;
|
||||
if (a is size) { asz = a as size; };
|
||||
if (b is size) { bsz = b as size; };
|
||||
if (asz == 1: size && bsz == 2: size) { return 95; };
|
||||
return 99;
|
||||
};
|
||||
Reference in New Issue
Block a user