mirror of
https://github.com/agentclientprotocol/claude-agent-acp.git
synced 2026-10-27 04:30:59 +00:00
## Summary Fixes the 23 failures seen with `RUN_INTEGRATION_TESTS=true`. All are test-side; no adapter changes. - **Provider tests (20 failures):** since #1340, `providers/set` lists the gateway's models with `fetch` in the test process. `vitest.config.ts` only loaded `setup-no-network.ts` outside integration runs, so tests that point at `https://gateway.example.com` made real requests and failed with `fetch failed`. The stub now loads in every run. `gateway-models.ts` is the only in-process `fetch` caller, and no integration test targets a real gateway. - **"the real SDK exposes one plain Opus row":** the CLI catalogue now also lists pinned older models (`claude-opus-5`, `claude-opus-4-8`, …), and the alias row's display name is "Opus 5.5". The check now covers only alias rows (`value` starting with `opus`) and still asserts there is a single row with no 1M variant. - **session-index `ENOTEMPTY` in teardown:** integration runs leave `CLAUDE_CODE_EXECUTABLE` unset, so initialize ran the real `claude auth status` in the background. It wrote into the temp `CLAUDE_CONFIG_DIR` while `afterEach` removed it. The file now stubs the executable to `/usr/bin/false`, as the scenario tests do. - **session-index relocation test:** the wait ended on any removal from the old path's subscription. That removal can name the other path's session, so the test now waits for the relocated session's own id. ## Testing - The six previously failing files pass with `RUN_INTEGRATION_TESTS=true` (454 tests). - `session-index.test.ts` passed 3× with integration on and 1× without (173 tests). Those failures were intermittent, so a few clean runs don't fully prove the fix. - `npx vitest run` (3360 tests) and `npm run check` pass. - The full integration suite was not rerun end to end. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { defineConfig } from "vitest/config";
|
|
|
|
// Runs that exercise the real Claude CLI opt in with these variables.
|
|
const usesRealCli =
|
|
Boolean(process.env.RUN_INTEGRATION_TESTS) || process.env.RUN_LIVE_CAPABILITY_AUDIT === "true";
|
|
|
|
export default defineConfig({
|
|
test: {
|
|
watch: false,
|
|
globals: true,
|
|
environment: "node",
|
|
// The agent runs `claude auth status` in the background on every
|
|
// initialize and prompt. Pointing it at a CLI that exits at once keeps
|
|
// tests off the machine's real CLI and Claude config, and stops a run
|
|
// from outliving its test (it wrote into temp config dirs being deleted).
|
|
env: usesRealCli ? {} : { CLAUDE_CODE_EXECUTABLE: "/usr/bin/false" },
|
|
// Applies to real-CLI runs too: the gateway listing runs in the test process,
|
|
// and tests point `providers/set` at fake URLs like gateway.example.com.
|
|
setupFiles: ["src/tests/setup-no-network.ts"],
|
|
include: [
|
|
"src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}",
|
|
// Release tooling lives in scripts/ rather than src/ so it stays outside tsc's
|
|
// rootDir and out of the published tarball; its tests have to follow it there.
|
|
"scripts/**/*.{test,spec}.mjs",
|
|
],
|
|
coverage: {
|
|
provider: "v8",
|
|
reporter: ["text", "json", "html"],
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": "/src",
|
|
},
|
|
},
|
|
});
|