Files
Charon/scripts/run-e2e-ui.sh
GitHub Actions 3169b05156 fix: skip incomplete system log viewer tests
- Marked 12 tests as skip pending feature implementation
- Features tracked in GitHub issue #686 (system log viewer feature completion)
- Tests cover sorting by timestamp/level/method/URI/status, pagination controls, filtering by text/level, download functionality
- Unblocks Phase 2 at 91.7% pass rate to proceed to Phase 3 security enforcement validation
- TODO comments in code reference GitHub #686 for feature completion tracking
- Tests skipped: Pagination (3), Search/Filter (2), Download (2), Sorting (1), Log Display (4)
2026-02-09 21:55:55 +00:00

32 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# Lightweight wrapper to run Playwright UI on headless Linux by auto-starting Xvfb when needed.
# Usage: ./scripts/run-e2e-ui.sh [<playwright args>]
set -euo pipefail
cd "$(dirname "$0")/.." || exit 1
LOGFILE="/tmp/xvfb.playwright.log"
if [[ -n "${CI-}" ]]; then
echo "Playwright UI is not supported in CI. Use the project's E2E Docker image or run headless: npm run e2e" >&2
exit 1
fi
if [[ -z "${DISPLAY-}" ]]; then
if command -v Xvfb >/dev/null 2>&1; then
echo "Starting Xvfb :99 (logs: ${LOGFILE})"
Xvfb :99 -screen 0 1280x720x24 >"${LOGFILE}" 2>&1 &
disown
export DISPLAY=:99
sleep 0.2
elif command -v xvfb-run >/dev/null 2>&1; then
echo "Using xvfb-run to launch Playwright UI"
exec xvfb-run --auto-servernum --server-args='-screen 0 1280x720x24' npx playwright test --ui "$@"
else
echo "No X server found and Xvfb is not installed.\nInstall Xvfb (e.g. sudo apt install xvfb) or run headless tests: npm run e2e" >&2
exit 1
fi
fi
# At this point DISPLAY should be set — run Playwright UI
exec npx playwright test --ui "$@"