mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-13 03:32:21 +02:00
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
from src.execution_capabilities import ExecutionCapabilities, verifier_prompt
|
|
|
|
|
|
def test_probe_contract_deduplicates_and_rejects_parent_paths():
|
|
capabilities = ExecutionCapabilities.from_probe({
|
|
"cwd": "/workspace",
|
|
"commands": ["python3", "git", "python3"],
|
|
"verifiers": [
|
|
{
|
|
"command": "python3 -m pytest -q",
|
|
"kind": "pytest",
|
|
"source_path": "pyproject.toml",
|
|
},
|
|
{
|
|
"command": "python3 -m pytest -q",
|
|
"kind": "pytest",
|
|
"source_path": "tests",
|
|
},
|
|
{
|
|
"command": "sh ../verifier/test.sh",
|
|
"kind": "script",
|
|
"source_path": "../verifier/test.sh",
|
|
},
|
|
],
|
|
})
|
|
|
|
assert capabilities.commands == ("git", "python3")
|
|
assert capabilities.verifier_commands == ("python3 -m pytest -q",)
|
|
assert "../verifier" not in str(capabilities.to_dict())
|
|
|
|
|
|
def test_verifier_prompt_contains_only_discovered_commands():
|
|
capabilities = ExecutionCapabilities.from_probe({
|
|
"cwd": "/workspace",
|
|
"commands": ["npm"],
|
|
"verifiers": [{
|
|
"command": "npm test",
|
|
"kind": "npm",
|
|
"source_path": "package.json",
|
|
}],
|
|
})
|
|
|
|
prompt = verifier_prompt(capabilities)
|
|
assert "`npm test`" in prompt
|
|
assert "address any failure" in prompt
|