Skip to content

Commit ecce836

Browse files
josephnefclaude
andcommitted
tests: j3_tx_flood_ab.sh — alternating TX-flood A/B of two trees on one Jaguar3 DUT
Per rep and per tree: time to first TX submit, bulk-OUT failures and failed synchronous register reads from a timed txdemo flood. Trees alternate rep by rep so a drift in the unit lands on both sides. Used to show the 8812EU's 5 GHz bulk-OUT timeouts are present on master at the same rate as on the pipelined bring-up. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent 1627d0f commit ecce836

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

‎tests/j3_tx_flood_ab.sh‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
# TX-side A/B of two devourer trees on one Jaguar3 DUT: N reps of a timed
3+
# txdemo flood per tree, reporting per rep the frames submitted, the bulk-OUT
4+
# failures and the failed synchronous register reads. Alternates trees rep by
5+
# rep so a slow drift in the unit (warm state, ambient) lands on both sides.
6+
#
7+
# sudo tests/j3_tx_flood_ab.sh <pid-hex> <channel> <treeA> <treeB> [reps] [secs]
8+
set -euo pipefail
9+
PID=${1:?pid}; CH=${2:?channel}; A=${3:?treeA}; B=${4:?treeB}; REPS=${5:-3}; SECS=${6:-15}
10+
OUT=${OUT:-/tmp/j3_tx_flood_ab/pid${PID}_ch${CH}}; mkdir -p "$OUT"
11+
run() {
12+
local tree=$1 rep=$2 n; n=$(basename "$tree")
13+
local log=$OUT/${n}_rep${rep}
14+
if ! env DEVOURER_PID="$PID" DEVOURER_CHANNEL="$CH" DEVOURER_LOG_LEVEL=info \
15+
timeout -s INT "$SECS" "$tree/build/txdemo" >"$log.jsonl" 2>"$log.err"; then
16+
rc=$?; case $rc in 0|124|130) ;; *) echo "$n rep$rep: txdemo exited rc=$rc"; tail -3 "$log.err";; esac
17+
fi
18+
local tx fail rd first
19+
tx=$(grep -cF '"ev":"tx.' "$log.jsonl" || true)
20+
fail=$(grep -c 'bulk_send EP .* FAIL' "$log.err" || true)
21+
rd=$(grep -c 'rtw_read(' "$log.err" || true)
22+
first=$(grep -oE 'first_tx_submit","ms":[0-9]+' "$log.jsonl" | grep -oE '[0-9]+$' || echo '?')
23+
echo "$n rep$rep: first_tx_ms=$first tx_events=$tx bulk_fail=$fail read_fail=$rd"
24+
}
25+
for r in $(seq 1 "$REPS"); do run "$A" "$r"; run "$B" "$r"; done

0 commit comments

Comments
 (0)