验收脚本:SKIP/FAIL 也把子测试数进去

只数顶层 `^--- SKIP` 会把子测试里的跳过漏掉 —— 那正是「看起来全绿、其实没跑」的形态。
换成 `^[[:space:]]*--- SKIP`,失败明细同理。
This commit is contained in:
tamakyi
2026-09-24 20:47:23 +08:00
parent d2e4392a88
commit ff594121da
+5 -5
View File
@@ -111,9 +111,9 @@ echo "== 第二段:go test -count=1 -v $GOFLAGS_EXTRA $RUNARG $PKGS"
go test -count=1 -v $GOFLAGS_EXTRA -timeout 2400s $RUNARG $PKGS >"$LOG" 2>&1
RC=$?
PASS=$(grep -c '^--- PASS' "$LOG" || true)
FAILN=$(grep -c '^--- FAIL' "$LOG" || true)
SKIP=$(grep -c '^--- SKIP' "$LOG" || true)
PASS=$(grep -cE '^[[:space:]]*--- PASS' "$LOG" || true)
FAILN=$(grep -cE '^[[:space:]]*--- FAIL' "$LOG" || true)
SKIP=$(grep -cE '^[[:space:]]*--- SKIP' "$LOG" || true)
BADPKG=$(grep -c '^FAIL' "$LOG" || true)
echo "== 结果:PASS=$PASS FAIL=$FAILN SKIP=$SKIP 非ok包=$BADPKG"
@@ -121,11 +121,11 @@ echo "== 日志:$LOG"
if [ "$SKIP" != 0 ]; then
echo "-- 以下用例被跳过(=没跑。门控测试缺环境变量时 go test 依然回 ok,别当通过看)--"
grep -n -B1 '^--- SKIP' "$LOG" | head -40
grep -n -B1 -E '^[[:space:]]*--- SKIP' "$LOG" | head -40
fi
if [ "$FAILN" != 0 ] || [ "$BADPKG" != 0 ]; then
echo "-- 失败明细(前 40 行)--"
grep -n -B2 '^--- FAIL' "$LOG" | head -40
grep -n -B2 -E '^[[:space:]]*--- FAIL' "$LOG" | head -40
fi
if [ "$RC" != 0 ] || [ "$FAILN" != 0 ] || [ "$BADPKG" != 0 ]; then