Files
ny-exam-platform/tests/run-all.sh
T
nxxy335 804b04de60 移除登录失败限流;修复连接信息被 e2e 串味为 127.0.0.1
- bootstrap.php/login.php:整体移除「5 次失败锁 10 分钟」限流,登录失败仅即时提示原因
- 新增 tools/fix-config.php:一键双写修正连接地址(默认 exam.nxxy335.top),清空账号密码让用户重输真实卷王凭据
- NY_DATA 隔离落地:run-all.sh 给写配置的 e2e 指向临时目录;修 Windows Git Bash /c/... 路径规范化 bug;.ny-test-data 加 .gitignore
- 清理 dead throttle 引用(e2e 脚本 + docs)
- 修 login.php 真实 bug:ny_is_auth() 分支在加载 $cfg 前引用导致 Undefined variable 警告
- 全量测试 116 通过(PHP 44 + e2e 72)
2026-09-11 17:25:22 +08:00

45 lines
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 一键跑完所有回归测试(PHP 单元自测 + Node e2e)。
# 用法:bash tests/run-all.sh
set -e
cd "$(dirname "$0")/.."
# 运行期路径:优先用环境变量,其次用本机工作区路径,最后退回 PATH 里的 php / node
# (工作区 node 的版本目录会随升级变化,写死路径会直接 No such file or directory)
pick() {
local cand="$1" fallback="$2"
if [ -n "$cand" ] && [ -x "$cand" ]; then echo "$cand"; return; fi
command -v "$fallback" 2>/dev/null || echo "$fallback"
}
PHP="$(pick "${PHP_BIN:-C:/Users/Zhang/.workbuddy/binaries/php/php.exe}" php)"
NODE="$(pick "${NODE_BIN:-}" node)"
INI="-d extension_dir=C:/Users/Zhang/.workbuddy/binaries/php/ext -d extension=pdo_sqlite"
echo "PHP = $PHP"
echo "NODE = $NODE"
echo "================ PHP 自测 ================"
for f in tests/test-aggregate.php tests/test-new-features.php tools/test-xlsxwriter.php; do
echo ""
echo ">>> $f"
"$PHP" $INI "$f"
done
echo ""
echo "================ Node e2e(需 mock-server + PHP 内置服务器) ================"
# e2e 会把 mock 连接配置写进数据目录;用 NY_DATA 把这两个会改写配置的测试整体指向临时目录,
# 彻底避免污染生产 data/ny.db(曾因此把登录页连接信息写成 127.0.0.1)。
NY_DATA_TMP="$(pwd)/.ny-test-data"
mkdir -p "$NY_DATA_TMP"
for f in tools/test-config-save.js tools/test-upload-guard.js; do
echo ""
echo ">>> $f (NY_DATA=$NY_DATA_TMP)"
NY_DATA="$NY_DATA_TMP" "$NODE" "$f"
done
# test-draw-alloc.js 不读写连接配置,沿用项目 data/ 即可
echo ""
echo ">>> tools/test-draw-alloc.js"
"$NODE" "tools/test-draw-alloc.js"
echo ""
echo "全部测试完成。"