mirror of
https://github.com/obra/superpowers.git
synced 2026-05-09 18:49:04 +08:00
evals: default SUPERPOWERS_ROOT to parent of evals/ if unset
Adds _set_superpowers_root_default() to drill/cli.py, called at module import after load_dotenv(). PROJECT_ROOT resolves to evals/ post-lift; its parent is the superpowers repo root, which is the correct value for SUPERPOWERS_ROOT. Existing env values are respected as overrides via os.environ.setdefault. Tests: - helper sets default when var is unset - helper does not override when var is already set
This commit is contained in:
@@ -59,3 +59,25 @@ class TestCompareCommand:
|
||||
runner = CliRunner()
|
||||
result = runner.invoke(main, ["compare", "nonexistent", "--sweep", "abc123"])
|
||||
assert result.exit_code != 0 # No results dir, but flag is parsed
|
||||
|
||||
|
||||
def test_set_superpowers_root_default_when_unset(monkeypatch, tmp_path):
|
||||
"""When SUPERPOWERS_ROOT is unset, helper sets it to PROJECT_ROOT.parent."""
|
||||
monkeypatch.delenv("SUPERPOWERS_ROOT", raising=False)
|
||||
from drill.cli import _set_superpowers_root_default, PROJECT_ROOT
|
||||
|
||||
_set_superpowers_root_default()
|
||||
|
||||
import os
|
||||
assert os.environ["SUPERPOWERS_ROOT"] == str(PROJECT_ROOT.parent)
|
||||
|
||||
|
||||
def test_set_superpowers_root_default_respects_existing(monkeypatch):
|
||||
"""When SUPERPOWERS_ROOT is already set, helper does not override."""
|
||||
monkeypatch.setenv("SUPERPOWERS_ROOT", "/custom/path")
|
||||
from drill.cli import _set_superpowers_root_default
|
||||
|
||||
_set_superpowers_root_default()
|
||||
|
||||
import os
|
||||
assert os.environ["SUPERPOWERS_ROOT"] == "/custom/path"
|
||||
|
||||
Reference in New Issue
Block a user