chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def test_cache_dirs_cover_common_language_tools(tmp_path: Path) -> None:
|
||||
from opensquilla.sandbox.backend.windows_default_cache import planned_cache_dirs
|
||||
|
||||
dirs = planned_cache_dirs(tmp_path)
|
||||
|
||||
names = {path.relative_to(tmp_path / ".opensquilla-cache").parts[0] for path in dirs}
|
||||
assert {
|
||||
"temp",
|
||||
"home",
|
||||
"git",
|
||||
"pip",
|
||||
"uv",
|
||||
"npm",
|
||||
"npm-cache",
|
||||
"pnpm",
|
||||
"yarn",
|
||||
"cargo",
|
||||
"rustup",
|
||||
"go",
|
||||
"maven",
|
||||
"gradle",
|
||||
"nuget",
|
||||
"dotnet",
|
||||
"composer",
|
||||
"ruby",
|
||||
} <= names
|
||||
|
||||
|
||||
def test_cache_env_points_to_workspace_cache(tmp_path: Path) -> None:
|
||||
from opensquilla.sandbox.backend.windows_default_cache import build_cache_env
|
||||
|
||||
env = build_cache_env(tmp_path, base_env={})
|
||||
|
||||
root = tmp_path / ".opensquilla-cache"
|
||||
assert env["TEMP"] == str(root / "temp")
|
||||
assert env["TMP"] == str(root / "temp")
|
||||
assert env["HOME"] == str(root / "home")
|
||||
assert env["USERPROFILE"] == str(root / "home")
|
||||
assert env["XDG_CONFIG_HOME"] == str(root / "home" / ".config")
|
||||
assert env["GIT_CONFIG_GLOBAL"] == str(root / "git" / "config")
|
||||
assert env["GIT_CONFIG_NOSYSTEM"] == "1"
|
||||
assert env["PIP_CACHE_DIR"] == str(root / "pip")
|
||||
assert env["UV_CACHE_DIR"] == str(root / "uv")
|
||||
assert env["npm_config_cache"] == str(root / "npm-cache")
|
||||
assert env["PNPM_HOME"] == str(root / "pnpm" / "home")
|
||||
assert env["PNPM_STORE_DIR"] == str(root / "pnpm" / "store")
|
||||
assert env["YARN_CACHE_FOLDER"] == str(root / "yarn")
|
||||
assert env["CARGO_HOME"] == str(root / "cargo")
|
||||
assert env["RUSTUP_HOME"] == str(root / "rustup")
|
||||
assert env["GOMODCACHE"] == str(root / "go" / "pkg" / "mod")
|
||||
assert env["GOCACHE"] == str(root / "go" / "build")
|
||||
assert env["MAVEN_USER_HOME"] == str(root / "maven")
|
||||
assert env["GRADLE_USER_HOME"] == str(root / "gradle")
|
||||
assert env["NUGET_PACKAGES"] == str(root / "nuget")
|
||||
assert env["DOTNET_CLI_HOME"] == str(root / "dotnet")
|
||||
assert env["COMPOSER_CACHE_DIR"] == str(root / "composer")
|
||||
assert env["GEM_HOME"] == str(root / "ruby" / "gems")
|
||||
assert env["GEM_SPEC_CACHE"] == str(root / "ruby" / "specs")
|
||||
|
||||
|
||||
def test_existing_user_cache_env_can_be_preserved(tmp_path: Path) -> None:
|
||||
from opensquilla.sandbox.backend.windows_default_cache import build_cache_env
|
||||
|
||||
external = r"C:\Users\me\.cache\pip"
|
||||
env = build_cache_env(
|
||||
tmp_path,
|
||||
base_env={"PIP_CACHE_DIR": external},
|
||||
override_user=False,
|
||||
)
|
||||
|
||||
assert env["PIP_CACHE_DIR"] == external
|
||||
assert env["UV_CACHE_DIR"] == str(tmp_path / ".opensquilla-cache" / "uv")
|
||||
Reference in New Issue
Block a user