Shadow the git URL checker instead of thinning PATH
The missing-checker case dropped $ROOT/bin from PATH to make omarchy-git-url-check unfindable, but installed machines carry the packaged checker in /usr/bin, so it was always found and the test failed on every 4.x machine. Shadow it with a stub that reports command-not-found so the scenario holds regardless of the host.
This commit is contained in:
@@ -71,8 +71,15 @@ done
|
|||||||
pass "a URL naming a transport git does not implement never reaches git"
|
pass "a URL naming a transport git does not implement never reaches git"
|
||||||
|
|
||||||
# The checker is a separate command, so its absence has to refuse the URL rather
|
# The checker is a separate command, so its absence has to refuse the URL rather
|
||||||
# than wave it through to git.
|
# than wave it through to git. Installed machines carry the packaged checker in
|
||||||
if install_theme "https://github.com/example/omarchy-cool-theme.git" "$mock_bin:$PATH"; then
|
# /usr/bin, so absence is simulated by shadowing it with a stub that reports
|
||||||
|
# command-not-found instead of thinning the PATH.
|
||||||
|
missing_checker_bin="$test_tmp/missing-checker-bin"
|
||||||
|
mkdir -p "$missing_checker_bin"
|
||||||
|
printf '#!/bin/bash\nexit 127\n' >"$missing_checker_bin/omarchy-git-url-check"
|
||||||
|
chmod +x "$missing_checker_bin/omarchy-git-url-check"
|
||||||
|
|
||||||
|
if install_theme "https://github.com/example/omarchy-cool-theme.git" "$missing_checker_bin:$mock_bin:$ROOT/bin:$PATH"; then
|
||||||
fail "omarchy-theme-install refuses a URL it cannot check"
|
fail "omarchy-theme-install refuses a URL it cannot check"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user