ekp/tests/run-tests-isolated.sh
Kinneyzhang 83352c4571 feat!: add source-clean live buffer layout
Replace the physical ekp-region renderer with ekp-buffer text-property projection backed by shared semantic layout plans and stable live-edit transactions.

Optimize the C-backed resize hot path, and add deterministic performance, ERT, GUI, fuzz, release, and documentation coverage for task017 through task032.

BREAKING CHANGE: require ekp-buffer instead of ekp-region and rename module-owned ekp-region-* settings to ekp-buffer-*.
2026-07-30 01:07:25 +08:00

29 lines
900 B
Bash
Executable File

#!/bin/sh
# Run every EKP ERT test in a fresh Emacs process.
# Usage: tests/run-tests-isolated.sh [path-to-emacs]
set -eu
EMACS="${1:-${EMACS:-emacs}}"
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
TESTS=$(
"$EMACS" -Q --batch -L "$ROOT" -L "$ROOT/tests" \
-l "$ROOT/tests/ekp-tests.el" \
-l "$ROOT/tests/ekp-buffer-tests.el" \
-l "$ROOT/tests/ekp-gui-tests.el" \
-l "$ROOT/tests/ekp-c-tests.el" \
--eval '(dolist (test (ert-select-tests "^ekp-\\(?:test\\|[[:alnum:]-]+-test\\)-" t))
(princ (format "%s\n" (ert-test-name test))))'
)
for test_name in $TESTS; do
echo "isolated ERT: $test_name"
"$EMACS" -Q --batch -L "$ROOT" -L "$ROOT/tests" \
-l "$ROOT/tests/ekp-tests.el" \
-l "$ROOT/tests/ekp-buffer-tests.el" \
-l "$ROOT/tests/ekp-gui-tests.el" \
-l "$ROOT/tests/ekp-c-tests.el" \
--eval "(ert-run-tests-batch-and-exit '$test_name)"
done