mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-08 10:09:30 +00:00
- Add SPAWN_SKIP_API_VALIDATION=1 and SPAWN_SKIP_GITHUB_AUTH=1 to sprite test environment so verify_openrouter_key() doesn't make real HTTP calls with the fake test key (which gets 401, clears the key, and falls into OAuth — causing all sprite assertions to fail) - Update agent iteration lists from stale "claude openclaw nanoclaw" to current "claude openclaw codex opencode kilocode zeroclaw" - Remove dead nanoclaw case from _assert_agent_specific - Remove 5 dead agent cases (nanoclaw, cline, gptme, plandex, continue) from _shared_agent_assertions.sh, add zeroclaw Result: 108 passed, 0 failed (was: 48 passed, 18 failed) Agent: code-health Co-authored-by: B <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
51 lines
1.9 KiB
Bash
51 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# Shared per-agent install assertions
|
|
# Verifies each agent script uses the correct install method
|
|
#
|
|
# Sourced by mock.sh _run_agent_assertions(). Expects:
|
|
# MOCK_LOG — path to the mock call log
|
|
# PASSED / FAILED — counters (updated in-place)
|
|
# GREEN / RED / NC — color codes
|
|
|
|
# Internal: assert a grep pattern appears in MOCK_LOG
|
|
_assert_install_pattern() {
|
|
local pattern="$1"
|
|
local msg="$2"
|
|
if grep -qE "${pattern}" "${MOCK_LOG}" 2>/dev/null; then
|
|
printf '%b\n' " ${GREEN}✓${NC} ${msg}"
|
|
PASSED=$((PASSED + 1))
|
|
else
|
|
printf '%b\n' " ${RED}✗${NC} ${msg}"
|
|
FAILED=$((FAILED + 1))
|
|
fi
|
|
}
|
|
|
|
assert_agent_install() {
|
|
local cloud="$1"
|
|
local agent="$2"
|
|
|
|
case "$agent" in
|
|
claude)
|
|
# install_claude_code finalization always runs "claude install --force"
|
|
# (mock claude binary is pre-installed, so curl installer is skipped)
|
|
_assert_install_pattern "claude.*install" "installs claude code" ;;
|
|
openclaw)
|
|
# npm install -g openclaw OR bun install -g openclaw (varies by cloud)
|
|
_assert_install_pattern "install.*openclaw" "installs openclaw via npm/bun" ;;
|
|
codex)
|
|
# npm install -g @openai/codex
|
|
_assert_install_pattern "npm.*install.*codex" "installs codex via npm" ;;
|
|
opencode)
|
|
# curl to download opencode tarball (via opencode_install_cmd)
|
|
_assert_install_pattern "opencode" "installs opencode" ;;
|
|
kilocode)
|
|
# npm install -g @kilocode/cli
|
|
_assert_install_pattern "npm.*install.*kilocode" "installs kilocode via npm" ;;
|
|
zeroclaw)
|
|
# curl installer from zeroclaw-labs/zeroclaw repo
|
|
_assert_install_pattern "zeroclaw" "installs zeroclaw" ;;
|
|
*)
|
|
# Unknown agent — skip assertion (no failure)
|
|
return 0 ;;
|
|
esac
|
|
}
|