Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion cli/lib/cli/engine.ex
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ defmodule Cli.Engine do
|> Map.keys()
|> Enum.filter(fn name ->
name == "CALLER_PWD" or String.ends_with?(name, "_CALLER_PWD") or
String.starts_with?(name, "MISE_") or String.starts_with?(name, "usage_")
(String.starts_with?(name, "MISE_") and name != "MISE_DATA_DIR") or
String.starts_with?(name, "usage_")
end)
|> Enum.map(&{String.to_charlist(&1), false})
end
Expand Down
2 changes: 2 additions & 0 deletions cli/test/engine_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ defmodule Cli.EngineTest do
printf 'EXECUTABLE=%s\\n' "$0"
printf 'CWD=%s\\n' "$(pwd -P)"
printf 'PATH=%s\\n' "$PATH"
printf 'MISE_DATA_DIR=%s\\n' "${MISE_DATA_DIR-}"
printf 'MISE_CONFIG_ROOT=%s\\n' "${MISE_CONFIG_ROOT-}"
printf 'MISE_TASK_NAME=%s\\n' "${MISE_TASK_NAME-}"
printf 'usage_message=%s\\n' "${usage_message-}"
Expand Down Expand Up @@ -184,6 +185,7 @@ defmodule Cli.EngineTest do
assert child =~ "EXECUTABLE=#{executable}"
assert child =~ "CWD=#{String.trim(physical_cwd)}"
assert child =~ "PATH=#{shim_bin}:#{ordinary_bin}"
assert child =~ "MISE_DATA_DIR=#{mise_data}"
assert child =~ "MISE_CONFIG_ROOT=\n"
assert child =~ "MISE_TASK_NAME=\n"
assert child =~ "usage_message=\n"
Expand Down
3 changes: 3 additions & 0 deletions lib/harness-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ sessions_scrub_task_env() {
local name
while IFS= read -r name; do
case "$name" in
# MISE_DATA_DIR is user-owned tool storage. Retained shims need it to
# resolve target-project tools from a non-default mise installation.
MISE_DATA_DIR) ;;
MISE_*|usage_*) unset "$name" ;;
esac
done < <(compgen -e)
Expand Down
1 change: 1 addition & 0 deletions test/helpers.bash
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ stub_pi_capture_env() {
printf 'CALLER_PWD=%s\n' "\${CALLER_PWD-}" > "$env_capture"
printf 'SESSIONS_CALLER_PWD=%s\n' "\${SESSIONS_CALLER_PWD-}" >> "$env_capture"
printf 'OTHER_CALLER_PWD=%s\n' "\${OTHER_CALLER_PWD-}" >> "$env_capture"
printf 'MISE_DATA_DIR=%s\n' "\${MISE_DATA_DIR-}" >> "$env_capture"
printf 'MISE_CONFIG_ROOT=%s\n' "\${MISE_CONFIG_ROOT-}" >> "$env_capture" # codebase:ignore - fixture proves inherited MCR is scrubbed
printf 'MISE_TASK_NAME=%s\n' "\${MISE_TASK_NAME-}" >> "$env_capture"
printf 'usage_message=%s\n' "\${usage_message-}" >> "$env_capture"
Expand Down
2 changes: 2 additions & 0 deletions test/run.bats
Original file line number Diff line number Diff line change
Expand Up @@ -676,6 +676,7 @@ STUB
export CALLER_PWD="/stale/caller"
export SESSIONS_CALLER_PWD="/stale/sessions"
export OTHER_CALLER_PWD="/stale/other"
export MISE_DATA_DIR="$mise_data"
export usage_stale_probe="stale task value"

PATH="$stale_bin:$pi_bin:$shim_bin:$fresh_bin:$PATH" run sessions run \
Expand All @@ -688,6 +689,7 @@ STUB
grep -q '^CALLER_PWD=$' "$env_capture"
grep -q '^SESSIONS_CALLER_PWD=$' "$env_capture"
grep -q '^OTHER_CALLER_PWD=$' "$env_capture"
grep -q "^MISE_DATA_DIR=$mise_data$" "$env_capture"
grep -q '^MISE_CONFIG_ROOT=$' "$env_capture"
grep -q '^MISE_TASK_NAME=$' "$env_capture"
grep -q '^usage_message=$' "$env_capture"
Expand Down