fix(e2e): peer sendText moved to Interface; add RF failure diagnostics
Run 10538 booted the full simulator and ran pytest — both failures were test-side: the installed meshtastic client moved sendText from Node to the Interface, and the outbound chunked message never arrived at the peer (cause still unknown). Fix the sendText call and add in-run diagnostics so the next failure is self-explaining: - e2e: outbound-timeout failure now reports what arrived at the peer and the simulator log tail; sim now boots with -v (meshtastic debug logging). - run_e2e.sh: on pytest failure in docker mode, dump per-node meshtasticd logs (meshtasticator-nodes.log) before cleanup removes the container.
This commit is contained in:
@@ -93,7 +93,7 @@ start_forwards() {
|
||||
}
|
||||
|
||||
SIM_LOG="$REPO_ROOT/meshtasticator-sim.log"
|
||||
SIM_ARGS=("$NODES")
|
||||
SIM_ARGS=("$NODES" -v) # -v: meshtastic/debug logging for RF diagnostics
|
||||
if [ "$MODE" = native ]; then
|
||||
[ -n "$PROGRAM" ] && [ -d "$PROGRAM" ] || { echo "--mode native needs --program <dir>" >&2; exit 2; }
|
||||
SIM_ARGS+=(-p "$PROGRAM")
|
||||
@@ -222,3 +222,14 @@ echo "== running radio-level e2e tests =="
|
||||
E2E_CHANNEL_INDEX="$CHANNEL_INDEX" \
|
||||
"$VENV/bin/python" -m pytest plugin/tests/e2e -q "$@"
|
||||
)
|
||||
RC=$?
|
||||
|
||||
if [ $RC -ne 0 ] && [ "$MODE" = docker ]; then
|
||||
# Capture per-node meshtasticd logs before cleanup removes the container.
|
||||
echo "== dumping node logs (pytest rc=$RC) =="
|
||||
docker exec Meshtastic sh -c 'for f in /home/out_*.log; do echo "----- $f -----"; tail -n 60 "$f" 2>/dev/null; done' \
|
||||
>"$REPO_ROOT/meshtasticator-nodes.log" 2>&1 || true
|
||||
echo " node logs: $REPO_ROOT/meshtasticator-nodes.log"
|
||||
fi
|
||||
|
||||
exit $RC
|
||||
|
||||
Reference in New Issue
Block a user