Files
ww/test/wcc/data/r777_branched_fprintf/case.ww
Hojun-Cho d456263f7e 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.
2026-08-07 23:21:04 +09:00

33 lines
953 B
Plaintext

//ww:run-exit 45
// Migrated from 777_fmt_handle_run row branched_fprintf.
package main;
import os;
import fmt;
import io;
export fn main() i32 = {
let path: str = "wwfmth_777_d";
let fd: i32 = os.open(path, os.flag.RDWR | os.flag.CREATE | os.flag.TRUNC, 0o644: i32);
if (fd < 0) { return 90; };
let sel: i32 = 1;
let f1: str = "A{}";
let f2: str = "B{}";
let fmtstr: str = f1;
if (sel == 0) { fmtstr = f2; };
let wr = fmt.fprintf(fd: io.file, fmtstr, 9i64);
let nw: size = 0;
match (wr) {
case let n: size => { nw = n; };
case io.error => { return 91; };
};
os.close(fd);
let rd: i32 = os.open(path, os.flag.RDONLY, 0i32);
if (rd < 0) { return 92; };
let buf: [8]u8;
let n: i64 = os.read(rd, &buf[0], 8u64);
os.close(rd);
if (n != 2i64) { return 93; };
if (nw != 2: size) { return 94; };
if (buf[0] != 65u8 || buf[1] != 57u8) { return 95; };
return 45;
};