forked from baron/baron-sso
코드체크 업데이트
This commit is contained in:
@@ -18,6 +18,8 @@ rm -rf adminfront/node_modules
|
||||
|
||||
tmp_dir="$(mktemp -d /tmp/baron-sso-adminfront-tests.XXXXXX)"
|
||||
playwright_browsers_path="$tmp_dir/ms-playwright"
|
||||
mkdir -p "$tmp_dir/scripts"
|
||||
cp "$repo_root/scripts/playwrightHostDeps.cjs" "$tmp_dir/scripts/"
|
||||
|
||||
if command -v rsync >/dev/null 2>&1; then
|
||||
rsync -rlptD --delete \
|
||||
@@ -58,6 +60,53 @@ find_available_port() {
|
||||
|
||||
playwright_install_cmd=(npx playwright install)
|
||||
playwright_install_desc="npx playwright install"
|
||||
playwright_project_args=()
|
||||
|
||||
has_webkit_host_dependencies() {
|
||||
if [ "$(uname -s)" != "Linux" ]; then
|
||||
return 0
|
||||
fi
|
||||
if ! command -v ldconfig >/dev/null 2>&1; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local missing=0
|
||||
local lib
|
||||
for lib in \
|
||||
libgtk-4.so.1 \
|
||||
libgraphene-1.0.so.0 \
|
||||
libxslt.so.1 \
|
||||
libevent-2.1.so.7 \
|
||||
libopus.so.0 \
|
||||
libgstallocators-1.0.so.0 \
|
||||
libgstapp-1.0.so.0 \
|
||||
libgstpbutils-1.0.so.0 \
|
||||
libgstaudio-1.0.so.0 \
|
||||
libgsttag-1.0.so.0 \
|
||||
libgstvideo-1.0.so.0 \
|
||||
libgstgl-1.0.so.0 \
|
||||
libgstcodecparsers-1.0.so.0 \
|
||||
libgstfft-1.0.so.0 \
|
||||
libflite.so.1 \
|
||||
libwebpdemux.so.2 \
|
||||
libavif.so.16 \
|
||||
libharfbuzz-icu.so.0 \
|
||||
libwebpmux.so.3 \
|
||||
libwayland-server.so.0 \
|
||||
libmanette-0.2.so.0 \
|
||||
libenchant-2.so.2 \
|
||||
libhyphen.so.0 \
|
||||
libsecret-1.so.0 \
|
||||
libwoff2dec.so.1.0.2 \
|
||||
libx264.so; do
|
||||
if ! ldconfig -p 2>/dev/null | grep -Fq "$lib"; then
|
||||
missing=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
[ "$missing" -eq 0 ]
|
||||
}
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
playwright_install_cmd=(npx playwright install --with-deps)
|
||||
@@ -65,6 +114,17 @@ if [ "$(id -u)" -eq 0 ]; then
|
||||
elif command -v sudo >/dev/null 2>&1 && sudo -n true >/dev/null 2>&1; then
|
||||
playwright_install_cmd=(npx playwright install --with-deps)
|
||||
playwright_install_desc="npx playwright install --with-deps"
|
||||
elif ! has_webkit_host_dependencies; then
|
||||
playwright_install_cmd=(npx playwright install chromium firefox)
|
||||
playwright_install_desc="npx playwright install chromium firefox"
|
||||
playwright_project_args=(--project=chromium --project=firefox)
|
||||
{
|
||||
echo "# Adminfront WebKit Skipped"
|
||||
echo
|
||||
echo "- Reason: WebKit host dependencies are not installed and this user cannot run passwordless sudo."
|
||||
echo "- Action: Running Chromium and Firefox projects only."
|
||||
echo "- To enable WebKit locally: run \`cd adminfront && npx playwright install-deps webkit\` with sudo privileges."
|
||||
} > reports/adminfront-webkit-skipped.md
|
||||
fi
|
||||
|
||||
set +e
|
||||
@@ -134,7 +194,7 @@ echo "==> adminfront using PORT=$port"
|
||||
(
|
||||
cd "$tmp_dir/adminfront"
|
||||
PORT="$port" PLAYWRIGHT_WORKERS="${PLAYWRIGHT_WORKERS:-1}" PLAYWRIGHT_BROWSERS_PATH="$playwright_browsers_path" \
|
||||
node ./node_modules/playwright/cli.js test
|
||||
node ./node_modules/playwright/cli.js test "${playwright_project_args[@]}"
|
||||
) 2>&1 | tee reports/adminfront-test.log
|
||||
test_exit_code=${PIPESTATUS[0]}
|
||||
set -e
|
||||
|
||||
Reference in New Issue
Block a user