mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-30 00:22:10 -04:00
fix(tests): make cookbook venv fallback test deterministic
Makes the cookbook venv fallback-chain test deterministic by simulating the inside-venv shell state directly instead of depending on the GitHub runner Python environment. Final focused #2580 CI-baseline cleanup.
This commit is contained in:
committed by
GitHub
parent
795782917f
commit
23fb5e169a
@@ -125,15 +125,15 @@ def test_pip_install_fallback_chain_propagates_failure_in_venv():
|
|||||||
reported success even though nothing was installed. The negated
|
reported success even though nothing was installed. The negated
|
||||||
`{ ! venv_check && user }` shape propagates the failure correctly.
|
`{ ! venv_check && user }` shape propagates the failure correctly.
|
||||||
"""
|
"""
|
||||||
import shlex
|
# Simulate "inside a venv" deterministically: the venv check exits 0.
|
||||||
py = shlex.quote(sys.executable)
|
|
||||||
# Use the venv python so venv_check detects we're in a venv.
|
|
||||||
# Base install fails, venv_check exits 0, negated to 1,
|
# Base install fails, venv_check exits 0, negated to 1,
|
||||||
# && skips user, group exits 1.
|
# && skips user, group exits 1. This avoids depending on whether the
|
||||||
|
# test runner's own interpreter happens to be inside a venv (which
|
||||||
|
# differs between local and CI environments).
|
||||||
script = (
|
script = (
|
||||||
f"{py} -c 'import sys; sys.exit(1)' || "
|
"false || "
|
||||||
f"{{ ! {py} -c \"import sys; sys.exit(0 if sys.prefix != sys.base_prefix else 1)\" "
|
"{ ! true " # venv_check=0 (in venv) → negated to 1 → user skipped
|
||||||
f"&& echo user_attempt; }}"
|
"&& echo user_attempt; }"
|
||||||
)
|
)
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
["bash", "-c", script],
|
["bash", "-c", script],
|
||||||
|
|||||||
Reference in New Issue
Block a user