fix(tests): resolve 5 cross-file test isolation failures
- model-fallback hook: mock selectFallbackProvider and add _resetForTesting() to test-setup.ts to clear module-level state between files - fallback-retry-handler: add afterAll(mock.restore) and use mockReturnValueOnce to prevent connected-providers mock leaking to subsequent test files - opencode-config-dir: use win32.join for Windows APPDATA path construction so tests pass on macOS (path.join uses POSIX semantics regardless of process.platform override) - system-loaded-version: use resolveSymlink from file-utils instead of realpathSync to handle macOS /var -> /private/var symlink consistently All 4456 tests pass (0 failures) on full bun test suite.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { existsSync, realpathSync } from "node:fs"
|
||||
import { homedir } from "node:os"
|
||||
import { join, resolve } from "node:path"
|
||||
import { join, resolve, win32 } from "node:path"
|
||||
|
||||
import type {
|
||||
OpenCodeBinaryType,
|
||||
@@ -31,7 +31,7 @@ function getTauriConfigDir(identifier: string): string {
|
||||
|
||||
case "win32": {
|
||||
const appData = process.env.APPDATA || join(homedir(), "AppData", "Roaming")
|
||||
return join(appData, identifier)
|
||||
return win32.join(appData, identifier)
|
||||
}
|
||||
|
||||
case "linux":
|
||||
@@ -71,7 +71,10 @@ export function getOpenCodeConfigDir(options: OpenCodeConfigDirOptions): string
|
||||
}
|
||||
|
||||
const identifier = isDevBuild(version) ? TAURI_APP_IDENTIFIER_DEV : TAURI_APP_IDENTIFIER
|
||||
const tauriDir = resolveConfigPath(getTauriConfigDir(identifier))
|
||||
const tauriDirBase = getTauriConfigDir(identifier)
|
||||
const tauriDir = process.platform === "win32"
|
||||
? (win32.isAbsolute(tauriDirBase) ? win32.normalize(tauriDirBase) : win32.resolve(tauriDirBase))
|
||||
: resolveConfigPath(tauriDirBase)
|
||||
|
||||
if (checkExisting) {
|
||||
const legacyDir = getCliConfigDir()
|
||||
|
||||
Reference in New Issue
Block a user