forked from arti/vt1200
Isolated-netns test setup (a private tap-mess-0-0 so a second MAME can run without holding the owner's tap), the one-file/one-index TFTP servers, the trace/probe run wrappers, and the two server logs quoted in FONT_STORAGE_REPORT.md.
28 lines
1.6 KiB
Bash
Executable File
28 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
NS=vt1test
|
|
ROOT=/home/arti/code/k-space/vt1200
|
|
WORK=$ROOT/harness/mame/fontwork
|
|
SECS="${1:-30}"
|
|
sudo -n ip netns exec "$NS" pkill -x vt1200 2>/dev/null || true
|
|
sudo -n ip netns exec "$NS" pkill -x python3 2>/dev/null || true
|
|
sleep 0.3
|
|
rm -rf "$WORK/nvram-c3" "$ROOT/debug.log"
|
|
mkdir -p "$WORK/nvram-c3/vt1200"; cp "$WORK/nvram_pristine.bin" "$WORK/nvram-c3/vt1200/nvram"
|
|
sudo -n ip netns exec "$NS" python3 -u "$WORK/custom_serve3.py" 192.168.99.1 >"$WORK/serve3.log" 2>&1 &
|
|
SRV=$!; sleep 1.2
|
|
sudo -n ip netns exec "$NS" timeout $((SECS+6)) tcpdump -i tap-mess-0-0 -n -s0 'udp port 69' -w "$WORK/serve3.pcap" 2>/dev/null &
|
|
sleep 0.3
|
|
cd "$ROOT"
|
|
timeout $((SECS+12)) sudo -n ip netns exec "$NS" env -u DISPLAY SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy XDG_RUNTIME_DIR="$WORK" VT1200_SKIP_LEVEL1=1 \
|
|
/home/arti/code/k-space/mame0289/vt1200 vt1200 -rompath "$ROOT/harness/mame/roms" -video none -sound none -nothrottle \
|
|
-skip_gameinfo -cfg_directory "$ROOT/harness/mame/cfg-net" -nvram_directory "$WORK/nvram-c3" -networkprovider taptun \
|
|
-debug -debugger none -debuglog -autoboot_script "$ROOT/harness/mame/fonttrace.lua" -autoboot_delay 0 \
|
|
-seconds_to_run "$SECS" >"$WORK/mame_trace3.log" 2>&1 || true
|
|
kill $SRV 2>/dev/null || true
|
|
sudo -n ip netns exec "$NS" pkill -x python3 2>/dev/null || true
|
|
sleep 1; sudo -n pkill -x tcpdump 2>/dev/null || true
|
|
echo "=== server ==="; cat "$WORK/serve3.log"
|
|
echo "=== trace ==="; grep -E 'TFTP-ENTRY|EXPECTED|RECV|OPCODE|BLKCHK|ACK|COPY|READ-RET|OPEN-OK|CLOSE' "$ROOT/debug.log" | head -140
|
|
echo "=== pcap tail ==="; sudo -n tcpdump -r "$WORK/serve3.pcap" -n 2>/dev/null | tail -30
|