diff --git a/tests/scripts/run-unit-node.sh b/tests/scripts/run-unit-node.sh index 515a961..69ddf4e 100755 --- a/tests/scripts/run-unit-node.sh +++ b/tests/scripts/run-unit-node.sh @@ -5,4 +5,18 @@ ROOT_DIR="$(cd "$(dirname "$0")/../.." && pwd)" cd "$ROOT_DIR" ./tests/scripts/check-node-split-syntax.sh -node --test tests/node/stream-tool-sieve.test.js tests/node/chat-stream.test.js tests/node/js_compat_test.js "$@" + +# Keep Node's file-level test scheduling serial to avoid intermittent cross-file +# interference when multiple suites import mutable module singletons. +NODE_TEST_LOG="$(mktemp)" +cleanup() { + rm -f "$NODE_TEST_LOG" +} +trap cleanup EXIT + +if ! node --test --test-concurrency=1 tests/node/stream-tool-sieve.test.js tests/node/chat-stream.test.js tests/node/js_compat_test.js "$@" 2>&1 | tee "$NODE_TEST_LOG"; then + echo + echo "[run-unit-node] Node tests failed. 失败摘要如下:" + rg -n "^(not ok|# fail)|ERR_TEST_FAILURE" "$NODE_TEST_LOG" || true + exit 1 +fi