#!/bin/sh
# DF-0918 run: deterministic models (unprivileged) + optional live FUSE race.
#   arg1 = live race iterations  (default 3; needs root)
#   arg2 = live race children    (default 4)
set -e
cd "$(dirname "$0")"
ITERS="${1:-3}"
CHILDREN="${2:-4}"
echo "==== [1] UNFIXED model — should CONFIRM the NULL-ohd primitive ===="
./harness; echo "harness(unfixed) rc=$?"
echo
echo "==== [2] FIXED model — should show NO NULL-deref (dead recheck) ===="
./harness_fixed; echo "harness(fixed) rc=$?"
echo
echo "==== [3] live FUSE race attempt (needs root + kldload fuse) ===="
if [ "$(id -u)" != "0" ]; then
    echo "(not root: skipping live race; run via vm.sh run_root)"
    exit 0
fi
kldload fuse 2>/dev/null || true
echo "+ ./fused0918 $ITERS $CHILDREN"
./fused0918 "$ITERS" "$CHILDREN"
echo "fused0918 rc=$?"
echo "---- daemon log ----"
cat /tmp/df0918_daemon.log 2>/dev/null || echo "(no daemon log)"
echo "---- guest still up? ----"
uname -a
