fix(smoke): U6 smoke-test.sh 可移植性——裸 $var 紧贴全角字符加花括号(R3)
bare `$var` 紧贴全角()(等 → strict-locale bash(macOS 5.3)把多字节首字节并进变量名 → set -u unbound;
smoke 在 lili-mac 一贯断在 template/list 行。4 处加 ${}(tcount/VID/QSCORE/SID),语义不变、跨环境可跑。
U6 验证(staging 五业务链路,本机 curl 可达):11/12 真绿——创作 draft / 发布(feed/zones/project) /
试玩取包(vid=93112) / 广告钱包(ad/trade) / 数据回路(qualityScore=60)。唯一 FAIL=template/list count=0
= W-CLEAN 清旧四模板 + generic 桥接的设计态(总账 §1 记非回归);R3=链路就绪门(不代理 R1)成立。
follow-up: template/list assertion 按 generic 桥接更新(非本单元业务语义裁定)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0a82a49f47
commit
0daaac0306
@ -108,7 +108,7 @@ out="$(api GET /app-api/aigc/template/list)"
|
||||
tcount="$(printf '%s' "$out" | sed '$d' | python3 -c "import sys,json
|
||||
try: d=json.load(sys.stdin); data=d.get('data') or []; print(len(data) if isinstance(data,list) else 0)
|
||||
except: print(-1)" 2>/dev/null)"
|
||||
if [ "${tcount:-0}" -ge 4 ] 2>/dev/null; then PASS=$((PASS+1)); _log " ${G}✓${N} aigc/template/list(四模板就绪 count=$tcount)"; else FAIL=$((FAIL+1)); FAILED_ITEMS+=("template/list count=$tcount"); _log " ${R}✗${N} aigc/template/list(期望≥4,实=$tcount)"; fi
|
||||
if [ "${tcount:-0}" -ge 4 ] 2>/dev/null; then PASS=$((PASS+1)); _log " ${G}✓${N} aigc/template/list(四模板就绪 count=${tcount})"; else FAIL=$((FAIL+1)); FAILED_ITEMS+=("template/list count=$tcount"); _log " ${R}✗${N} aigc/template/list(期望≥4,实=${tcount})"; fi
|
||||
check "studio/draft(创建草稿拿 gameId)" POST /app-api/studio/draft envelope_nonempty '{"title":"冒烟门-clicker","templateId":"clicker"}'
|
||||
|
||||
# ---------------- 链路② 发布 → 审核 → 游戏流 ----------------
|
||||
@ -128,7 +128,7 @@ try:
|
||||
print(lst[0].get('versionId','') if lst else '')
|
||||
except: print('')" 2>/dev/null)"
|
||||
if [ -n "$VID" ] && [ "$VID" != "None" ]; then
|
||||
check "runtime/package/{versionId}(试玩取包 vid=$VID)" GET "/app-api/runtime/package/$VID" envelope
|
||||
check "runtime/package/{versionId}(试玩取包 vid=${VID})" GET "/app-api/runtime/package/$VID" envelope
|
||||
else FAIL=$((FAIL+1)); FAILED_ITEMS+=("feed 首条无 versionId"); _log " ${R}✗${N} feed 首条无 versionId(无法验取包)"; fi
|
||||
|
||||
# ---------------- 链路④ 广告 → 收益 → 钱包 ----------------
|
||||
@ -146,7 +146,7 @@ try:
|
||||
d=json.load(sys.stdin); lst=(d.get('data') or {}).get('list') or []
|
||||
print(lst[0].get('qualityScore') if lst and lst[0].get('qualityScore') is not None else 'NONE')
|
||||
except: print('NONE')" 2>/dev/null)"
|
||||
if [ "$QSCORE" != "NONE" ] && [ -n "$QSCORE" ]; then PASS=$((PASS+1)); _log " ${G}✓${N} feed 携带 qualityScore=$QSCORE(质量分回路已回灌)"; else FAIL=$((FAIL+1)); FAILED_ITEMS+=("feed 无 qualityScore"); _log " ${R}✗${N} feed 首条无 qualityScore"; fi
|
||||
if [ "$QSCORE" != "NONE" ] && [ -n "$QSCORE" ]; then PASS=$((PASS+1)); _log " ${G}✓${N} feed 携带 qualityScore=${QSCORE}(质量分回路已回灌)"; else FAIL=$((FAIL+1)); FAILED_ITEMS+=("feed 无 qualityScore"); _log " ${R}✗${N} feed 首条无 qualityScore"; fi
|
||||
|
||||
# ---------------- --deep:写路径(生成入队 + 遥测事件)----------------
|
||||
if [ "$DEEP" = "1" ]; then
|
||||
@ -160,7 +160,7 @@ if [ "$DEEP" = "1" ]; then
|
||||
try: print((json.load(sys.stdin).get('data') or {}).get('id',''))
|
||||
except: print('')" 2>/dev/null)"
|
||||
if [ -n "$SID" ] && [ "$SID" != "None" ]; then
|
||||
check "studio/generate(入队 sessionId=$SID)" POST /app-api/studio/generate envelope \
|
||||
check "studio/generate(入队 sessionId=${SID})" POST /app-api/studio/generate envelope \
|
||||
"{\"sessionId\":$SID,\"prompt\":\"一个挂机种树攒果实的放置小游戏\"}"
|
||||
else FAIL=$((FAIL+1)); FAILED_ITEMS+=("deep: draft 无 id"); _log " ${R}✗${N} deep: draft 未拿到 sessionId(id)"; fi
|
||||
fi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user