Files
2026-07-13 12:45:10 +08:00

35 lines
939 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
DEV_ID="$(printf '%s' "$ROOT" | cksum | awk '{print $1}')"
NAME="${BU_NAME:-default}"
case "$NAME" in
""|*[!A-Za-z0-9_-]*)
echo "invalid BU_NAME: $NAME" >&2
exit 2
;;
esac
export BH_HOME="${BH_HOME:-$ROOT/.browser-harness-dev}"
if [ -z "${BH_RUNTIME_DIR:-}" ]; then
export BH_RUNTIME_DIR="/tmp/bh-dev-$DEV_ID/runtime"
export BH_RUNTIME_DIR_SHARED="${BH_RUNTIME_DIR_SHARED:-1}"
fi
if [ -z "${BH_TMP_DIR:-}" ]; then
export BH_TMP_DIR="$BH_HOME/tmp"
export BH_TMP_DIR_SHARED="${BH_TMP_DIR_SHARED:-1}"
fi
if [ -x "$ROOT/.venv/bin/python" ]; then
exec "$ROOT/.venv/bin/python" -m browser_harness.run "$@"
fi
if command -v uv >/dev/null 2>&1; then
exec uv --directory "$ROOT" run python -m browser_harness.run "$@"
fi
export PYTHONPATH="$ROOT/src${PYTHONPATH:+:$PYTHONPATH}"
exec python3 -m browser_harness.run "$@"