16 lines
981 B
Bash
Executable file
16 lines
981 B
Bash
Executable file
#!/bin/sh
|
|
# usage: port/tools/verify/compareRun.sh NAME TICKS KEYS
|
|
# Runs the oracle and the port with the same key script, keeps both
|
|
# per-tick RAM snapshot sets as tmp/NAME.oracle.snaps and
|
|
# tmp/NAME.port.snaps, and writes the first divergence to
|
|
# tmp/NAME.diff.txt (nothing printed = every tick identical).
|
|
cd "$(dirname "$0")/../../.."
|
|
name="$1"; ticks="$2"; keys="$3"
|
|
mkdir -p tmp
|
|
FS2TRACE_SNAP_EVERY=1 port/tools/verify/oracleRun.sh "$ticks" "$keys" > "tmp/$name.oracle.txt" 2>&1
|
|
mv tmp/oracle.snaps "tmp/$name.oracle.snaps"
|
|
port/bin/fs2port --ticks "$ticks" --keys "$keys" --snap-every 1 --screenshot "tmp/$name.port.ppm" > "tmp/$name.port.txt" 2>&1
|
|
mv tmp/port.snaps "tmp/$name.port.snaps"
|
|
python3 port/tools/verify/snapDiff.py "tmp/$name.oracle.snaps" "tmp/$name.port.snaps" 1 12 > "tmp/$name.diff.txt" 2>&1
|
|
grep -v ': 0 differing' "tmp/$name.diff.txt" | head -30
|
|
grep -n 'overlay code not resident\|reached opcode\|unsupported\|failure' "tmp/$name.port.txt" | head -3
|