skills/ppt-station-skill/tests/test_parse_rebuild.sh

52 lines
1.3 KiB
Bash
Raw Normal View History

#!/bin/bash
# 测试 parse_ppt.py + rebuild_ppt.py - 解析重建流程
set -e
PYTHON=$(which python3 || which python)
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJ_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
PARSE_SCRIPT="$SCRIPT_DIR/../scripts/parse_ppt.py"
REBUILD_SCRIPT="$SCRIPT_DIR/../scripts/rebuild_ppt.py"
TMPDIR=$(mktemp -d)
trap "rm -rf $TMPDIR" EXIT
echo "=== 测试 parse_ppt.py + rebuild_ppt.py ==="
echo "输入: $PROJ_DIR/aim/aim01.pptx"
# Step 1: 解析
echo "Step 1: 解析 PPT → JSON"
$PYTHON "$PARSE_SCRIPT" "$PROJ_DIR/aim/aim01.pptx" "$TMPDIR/parsed.json" 2>/dev/null
if [ ! -f "$TMPDIR/parsed.json" ]; then
echo "FAIL: parsed.json 未生成"
exit 1
fi
SIZE=$(wc -c < "$TMPDIR/parsed.json")
echo " parsed.json 大小: ${SIZE} bytes"
if [ "$SIZE" -lt 100 ]; then
echo "FAIL: parsed.json 太小"
exit 1
fi
# Step 2: 重建
echo "Step 2: 重建 JSON → PPT"
$PYTHON "$REBUILD_SCRIPT" "$TMPDIR/parsed.json" "$TMPDIR/rebuilt.pptx" 2>/dev/null
if [ ! -f "$TMPDIR/rebuilt.pptx" ]; then
echo "FAIL: rebuilt.pptx 未生成"
exit 1
fi
SIZE=$(wc -c < "$TMPDIR/rebuilt.pptx")
echo " rebuilt.pptx 大小: ${SIZE} bytes"
if [ "$SIZE" -lt 1000 ]; then
echo "FAIL: rebuilt.pptx 太小"
exit 1
fi
echo "PASS: parse + rebuild 流程正常"