Files
Khem Raj d896a97b88 python3-scapy: keep UTscapy failure diagnostics in the ptest output
UTscapy writes its detailed report, including the traceback of every
failing test, to a file under ${PTEST_PATH}. Under testimage that path
only exists inside the ephemeral image, which is discarded as soon as the
run finishes, so a failure left nothing behind but a bare

    FAIL: 000.01s Emulate interact()

line and diagnosing it required rebuilding the image by hand.

Pass -F so the report expands only the failed tests, and cat it to stdout
when there is one, where ptest-runner records it. A clean run is
unaffected.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-08-19 16:57:43 -07:00

23 lines
839 B
Bash

#!/bin/sh
if ! nslookup example.com; then
mv /etc/resolv.conf /etc/resolv.conf.bak
echo "nameserver 8.8.8.8" > /etc/resolv.conf
trap "mv /etc/resolv.conf.bak /etc/resolv.conf" INT EXIT
fi
UTSCAPY_LOG=@PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log
# -F expands only the failed tests in the report, keeping it small while still
# recording the traceback of anything that failed.
python3 UTscapy.py -t regression.uts -f text -l -C -F -K skipped_ptest \
-o $UTSCAPY_LOG \
2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/'
# The report only exists inside the ephemeral test image, so echo the details of
# any failure to stdout, where ptest-runner records them.
if grep -qE '^###.*=\[(failed|interrupted)\]' $UTSCAPY_LOG 2>/dev/null; then
echo "--- UTscapy failure details ---"
cat $UTSCAPY_LOG
fi