Files
ww/test/wcc/data/r778_stream_write_flush/case.ww

29 lines
905 B
Plaintext

//ww:run-exit 46
// Migrated from 778_bufio_vstream_run row stream_write_flush.
package main;
import bufio;
import memio;
import io;
export fn main() i32 = {
let raw: [16]u8;
let mst: memio.stream = memio.fixed(raw[0:16]);
let msrc: io.stream = &mst.vt;
let rbuf: [8]u8;
let wbuf: [8]u8;
let b: bufio.stream = bufio.newstream(msrc, rbuf[0:8], wbuf[0:8]);
let vs: io.stream = &b.vt;
let payload: [5]u8;
payload[0] = 104u8; payload[1] = 105u8;
payload[2] = 33u8; payload[3] = 98u8; payload[4] = 121u8;
let wr = io.write(vs, payload[0:5]);
let nw: size = 0;
if (wr is size) { nw = wr as size; };
if (mst.pos != 0) { return 91; };
let cl = io.close(vs);
if (cl is io.error) { return 92; };
if (mst.pos != 5) { return 93; };
if (nw != 5: size) { return 94; };
if (raw[0] != 104u8 || raw[4] != 121u8) { return 95; };
return 46;
};