#!/usr/bin/env nu # Preserve each direct run so intermittent failures retain their full evidence. def main [label: string] { mkdir /tmp/s5-http mut passed = 0 for n in 1..20 { let result = (do { ^./spikes/s5-http/target/debug/s5-http spikes/s5-http/guest/target/wasm32-wasip2/debug/s5-curl.wasm } | complete) $result.stdout | save -f $"/tmp/s5-http/($label)-($n).out" $result.stderr | save -f $"/tmp/s5-http/($label)-($n).err" if $result.exit_code == 0 { $passed = $passed + 1 print $"RUN ($n): PASS" } else { print $"RUN ($n): FAIL exit=($result.exit_code)" print -e $result.stderr } } print $"RESULT ($label): ($passed)/20 passed" if $passed != 20 { error make {msg: "direct runs failed"} } }