feat: allow for setup.sh based user fixtures
This commit is contained in:
@@ -6,6 +6,20 @@ host_home=${MIRO_HOST_HOME:?}
|
||||
host_tmp=${MIRO_HOST_TMP:?}
|
||||
path_env=${MIRO_PATH_ENV:?}
|
||||
visible_home=${MIRO_VISIBLE_HOME:?}
|
||||
bootstrap_rc="$host_home/.miro-shell-rc"
|
||||
visible_bootstrap_rc="$visible_home/.miro-shell-rc"
|
||||
setup_scripts_dir='/tmp/miro-setup-scripts'
|
||||
|
||||
cat >"$bootstrap_rc" <<'EOF'
|
||||
cd "${HOME:?}"
|
||||
|
||||
for path in /tmp/miro-setup-scripts/*.sh; do
|
||||
[ -e "$path" ] || continue
|
||||
cd "${HOME:?}"
|
||||
source "$path"
|
||||
cd "${HOME:?}"
|
||||
done
|
||||
EOF
|
||||
|
||||
if [ "${MIRO_COMPARE_MARKER:-0}" = "1" ]; then
|
||||
printf '__MIRO_E2E_BEGIN__\n'
|
||||
@@ -32,4 +46,16 @@ set -- \
|
||||
--setenv TZ 'UTC' \
|
||||
--chdir "$visible_home"
|
||||
|
||||
exec bwrap "$@" bash --noprofile --norc -i
|
||||
if [ -n "${MIRO_SETUP_SCRIPTS:-}" ]; then
|
||||
i=1
|
||||
while IFS= read -r host_path || [ -n "$host_path" ]; do
|
||||
[ -n "$host_path" ] || continue
|
||||
visible_path=$(printf '%s/%03d.sh' "$setup_scripts_dir" "$i")
|
||||
set -- "$@" --ro-bind "$host_path" "$visible_path"
|
||||
i=$((i + 1))
|
||||
done <<EOF
|
||||
${MIRO_SETUP_SCRIPTS-}
|
||||
EOF
|
||||
fi
|
||||
|
||||
exec bwrap "$@" bash --noprofile --rcfile "$visible_bootstrap_rc" -i
|
||||
|
||||
Reference in New Issue
Block a user