mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
test: remove 14 low-value renderer tests (#39871)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
This commit is contained in:
@@ -1701,12 +1701,12 @@
|
||||
"providers": ["local", "remote-runtime"],
|
||||
"coveredPlatforms": ["linux"],
|
||||
"coveredProviders": ["local", "remote-runtime"],
|
||||
"coverageNotes": "Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. The remaining five-source hibernation selector was freshly run on Linux:54 tests pass. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim. Historical prior account (preserved verbatim): Local hibernation, remote inventory authority and folder-workspace identity are covered by coordinator/model contracts on macOS. Daemon, SSH, WSL, relay and native platform execution boundaries and existing RPC payloads are unchanged. Current assertions cover shutdown safety and owning-host selection; historical inventory-count and performance evidence below is retained for provenance and is not current count coverage.",
|
||||
"coverageNotes": "Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. Audit2310 additionally retires two pane-age getter-map expiry/pruning samples without equivalent replacement. The reduced five-source hibernation selector was freshly run on Linux:52 tests pass. The earlier 54-test receipt is archived verbatim in knownGaps and does not validate the reduced source. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim. Historical prior account (preserved verbatim): Local hibernation, remote inventory authority and folder-workspace identity are covered by coordinator/model contracts on macOS. Daemon, SSH, WSL, relay and native platform execution boundaries and existing RPC payloads are unchanged. Current assertions cover shutdown safety and owning-host selection; historical inventory-count and performance evidence below is retained for provenance and is not current count coverage.",
|
||||
"motivatingLinks": [
|
||||
"https://github.com/stablyai/orca/blob/main/src/renderer/src/lib/agent-hibernation-coordinator.test.ts"
|
||||
],
|
||||
"invariant": "Automatic hibernation must retain two stable confirmations and fresh execution-host evidence before shutdown. Skipping a workspace with no completed agent must not authorize a newly completed pane using stale client PTYs.",
|
||||
"oracle": "Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. The remaining five-source hibernation selector was freshly run on Linux:54 tests pass. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim. Historical prior account (preserved verbatim): Working and waiting agents across remote workspaces must not be shut down. A skipped workspace completing while another inventory awaits remains ineligible until two later host-confirmed passes, and so does a workspace that only becomes runtime-owned while an inventory is outstanding — a pass carrying no host evidence for a workspace never counts as one of its two confirmations. Folder and git workspaces hibernate the exact host PTY; rejected/truncated inventories and intervening input/output or state changes block shutdown.",
|
||||
"oracle": "Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. Audit2310 additionally retires two pane-age getter-map expiry/pruning samples without equivalent replacement. The reduced five-source hibernation selector was freshly run on Linux:52 tests pass. The earlier 54-test receipt is archived verbatim in knownGaps and does not validate the reduced source. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim. Historical prior account (preserved verbatim): Working and waiting agents across remote workspaces must not be shut down. A skipped workspace completing while another inventory awaits remains ineligible until two later host-confirmed passes, and so does a workspace that only becomes runtime-owned while an inventory is outstanding — a pass carrying no host evidence for a workspace never counts as one of its two confirmations. Folder and git workspaces hibernate the exact host PTY; rejected/truncated inventories and intervening input/output or state changes block shutdown.",
|
||||
"commands": [
|
||||
"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-pane-age.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-runtime-liveness-race.test.ts --maxWorkers=2"
|
||||
],
|
||||
@@ -1742,8 +1742,8 @@
|
||||
"platform": "linux",
|
||||
"command": "ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-pane-age.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-runtime-liveness-race.test.ts --maxWorkers=2",
|
||||
"result": "passed",
|
||||
"durationSeconds": 7.377,
|
||||
"summary": "54 tests across five unchanged coordinator/planner/age/foreground/liveness-race files passed on the actual39644 squash plus test-removal candidate. Reduced selector only; scripted runtime contracts, no live SSH/native WSL, soak or measured p95 claim."
|
||||
"durationSeconds": 5.426,
|
||||
"summary": "52 tests across the five coordinator/planner/age/foreground/liveness-race files passed on public parent60aee85d9182f602af45cf5f6facae7257670061 plus the audit2310 test-removal candidate (source tree da2595af5391e9fa07a924ac69afede47ad31906). Includes the reduced two-case pane-age suite. Scripted runtime contracts; no live SSH/native WSL, soak or measured p95 claim."
|
||||
}
|
||||
],
|
||||
"runtimeBudget": {
|
||||
@@ -1765,8 +1765,9 @@
|
||||
"knownGaps": [
|
||||
"Remote contracts use mocked runtime replies; no live SSH/network-fault, Windows/Linux/WSL or relay run.",
|
||||
"This improves the experimental automatic hibernation path only; it does not remove inventories for workspaces that contain completed agents.",
|
||||
"Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. The remaining five-source hibernation selector was freshly run on Linux:54 tests pass. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim.",
|
||||
"Audit2058 archives this exact historical receipt after deleting a selector in its currentCommand; historical provenance only, not current execution evidence:\n{\n \"date\": \"2026-09-07\",\n \"runner\": \"local\",\n \"platform\": \"macos\",\n \"command\": \"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-hibernation-confirmation.test.ts src/renderer/src/lib/agent-hibernation-pane-age.test.ts src/renderer/src/lib/agent-hibernation-output-activity.test.ts src/renderer/src/lib/agent-hibernation-visibility.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-hibernation-runtime-liveness-race.test.ts\",\n \"currentCommand\": \"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-pane-age.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-visibility.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-runtime-liveness-race.test.ts\",\n \"result\": \"passed\",\n \"durationSeconds\": 48.18,\n \"summary\": \"93 tests passed across eight coordinator, liveness-race, planner, confirmation, age, activity and visibility files.\"\n }"
|
||||
"Historical audit2058 coverage note before audit2310, preserved verbatim; not current execution evidence: Audit2058 intentionally retires the standalone visibility subscription/callback-count alarm without replacement. The remaining five-source hibernation selector was freshly run on Linux:54 tests pass. Its prior macOS execution receipt/current-command association is archived verbatim in knownGaps and is not current execution evidence for the reduced selector. Current covered platform is Linux; remote replies remain scripted, with no live SSH/WSL/native provider or p95 claim.",
|
||||
"Audit2058 archives this exact historical receipt after deleting a selector in its currentCommand; historical provenance only, not current execution evidence:\n{\n \"date\": \"2026-09-07\",\n \"runner\": \"local\",\n \"platform\": \"macos\",\n \"command\": \"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-hibernation-confirmation.test.ts src/renderer/src/lib/agent-hibernation-pane-age.test.ts src/renderer/src/lib/agent-hibernation-output-activity.test.ts src/renderer/src/lib/agent-hibernation-visibility.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-hibernation-runtime-liveness-race.test.ts\",\n \"currentCommand\": \"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-pane-age.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-visibility.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-runtime-liveness-race.test.ts\",\n \"result\": \"passed\",\n \"durationSeconds\": 48.18,\n \"summary\": \"93 tests passed across eight coordinator, liveness-race, planner, confirmation, age, activity and visibility files.\"\n }",
|
||||
"Historical receipt retired by audit2310 because two pane-age getter-map registrations were removed; original record preserved verbatim, not current execution evidence:\n{\n \"date\": \"2026-11-08\",\n \"runner\": \"local\",\n \"platform\": \"linux\",\n \"command\": \"ORCA_BACKGROUND_LAUNCH=1 pnpm test src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-planner.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-pane-age.test.ts src/renderer/src/lib/foreground-terminal-tabs.test.ts src/renderer/src/lib/agent-session/hibernation/agent-hibernation-runtime-liveness-race.test.ts --maxWorkers=2\",\n \"result\": \"passed\",\n \"durationSeconds\": 7.377,\n \"summary\": \"54 tests across five unchanged coordinator/planner/age/foreground/liveness-race files passed on the actual39644 squash plus test-removal candidate. Reduced selector only; scripted runtime contracts, no live SSH/native WSL, soak or measured p95 claim.\"\n }"
|
||||
],
|
||||
"promotionCriteria": [
|
||||
"Complete CI soak with zero unexplained flakes and preserve the observable oracle."
|
||||
|
||||
@@ -6536,7 +6536,6 @@
|
||||
"src/renderer/src/lib/agent-message-send.test.ts": 182,
|
||||
"src/renderer/src/lib/agent-paste-draft-submit-retry.test.ts": 315,
|
||||
"src/renderer/src/lib/agent-paste-draft.test.ts": 445,
|
||||
"src/renderer/src/lib/agent-picker-search.test.ts": 265,
|
||||
"src/renderer/src/lib/agent-resume-launch-target.test.ts": 3911,
|
||||
"src/renderer/src/lib/agent-session/launch/structured-agent-session-launch-after-failure.test.ts": 870,
|
||||
"src/renderer/src/lib/agent-session/launch/structured-agent-session-launch-close-race.test.ts": 983,
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
import {
|
||||
AGENT_PICKER_QUERY_MAX_BYTES,
|
||||
agentPickerBlankTerminalMatches,
|
||||
getAgentPickerCommandValue,
|
||||
searchAgentPickerEntries
|
||||
} from './agent-picker-search'
|
||||
import { AGENT_CATALOG, type AgentCatalogEntry } from './agent-catalog'
|
||||
|
||||
const agents = [
|
||||
entry('claude', 'Claude', 'claude'),
|
||||
entry('codex', 'Codex', 'codex'),
|
||||
entry('copilot', 'GitHub Copilot', 'copilot'),
|
||||
entry('opencode', 'OpenCode', 'opencode'),
|
||||
entry('mistral-vibe', 'Mistral Vibe', 'vibe'),
|
||||
entry('qwen-code', 'Qwen Code', 'qwen-code'),
|
||||
entry('crush', 'Charm', 'crush'),
|
||||
entry('antigravity', 'Antigravity', 'agy'),
|
||||
entry('cursor', 'Cursor', 'cursor-agent')
|
||||
]
|
||||
|
||||
afterEach(() => {
|
||||
vi.restoreAllMocks()
|
||||
})
|
||||
|
||||
describe('agent picker search', () => {
|
||||
it('does not offer unavailable OMP through a search alias', () => {
|
||||
const available = AGENT_CATALOG.filter((agent) => agent.id !== 'omp')
|
||||
expect(searchAgentPickerEntries(available, 'oh-my-pi')).toEqual([])
|
||||
})
|
||||
|
||||
it('keeps a stable default for a shared binary while explicit CN remains selectable', () => {
|
||||
const shared = [
|
||||
entry('qoder', 'Qoder CLI', 'qodercli'),
|
||||
entry('qoder-cn', 'Qoder CLI China', 'qodercli')
|
||||
]
|
||||
expect(searchAgentPickerEntries(shared, 'qodercli').map((agent) => agent.id)).toEqual([
|
||||
'qoder',
|
||||
'qoder-cn'
|
||||
])
|
||||
expect(searchAgentPickerEntries(shared, 'qoder-cn')[0]?.id).toBe('qoder-cn')
|
||||
expect(searchAgentPickerEntries(shared, 'Qoder CLI China')[0]?.id).toBe('qoder-cn')
|
||||
expect(
|
||||
searchAgentPickerEntries(
|
||||
shared.filter((agent) => agent.id !== 'qoder'),
|
||||
'qodercli'
|
||||
)[0]?.id
|
||||
).toBe('qoder-cn')
|
||||
})
|
||||
|
||||
it('rejects oversized pasted queries before scoring agent candidates', () => {
|
||||
const oversizedQuery = 'secret-agent-picker'.repeat(AGENT_PICKER_QUERY_MAX_BYTES)
|
||||
const throwingAgents = [
|
||||
{
|
||||
get id(): AgentCatalogEntry['id'] {
|
||||
throw new Error('oversized agent picker queries must not scan ids')
|
||||
},
|
||||
get label(): string {
|
||||
throw new Error('oversized agent picker queries must not scan labels')
|
||||
},
|
||||
get cmd(): string {
|
||||
throw new Error('oversized agent picker queries must not scan commands')
|
||||
},
|
||||
homepageUrl: 'https://example.com'
|
||||
}
|
||||
] as AgentCatalogEntry[]
|
||||
|
||||
expect(searchAgentPickerEntries(throwingAgents, oversizedQuery)).toEqual([])
|
||||
expect(agentPickerBlankTerminalMatches(oversizedQuery)).toBe(false)
|
||||
expect(
|
||||
getAgentPickerCommandValue({
|
||||
blankValue: '__none__',
|
||||
blankMatchesQuery: false,
|
||||
currentValue: 'claude',
|
||||
filteredAgents: throwingAgents,
|
||||
rawQuery: oversizedQuery
|
||||
})
|
||||
).toBe('')
|
||||
})
|
||||
|
||||
it('rejects oversized whitespace before trimming', () => {
|
||||
expect(searchAgentPickerEntries(agents, ' '.repeat(AGENT_PICKER_QUERY_MAX_BYTES + 1))).toEqual(
|
||||
[]
|
||||
)
|
||||
expect(agentPickerBlankTerminalMatches(' '.repeat(AGENT_PICKER_QUERY_MAX_BYTES + 1))).toBe(
|
||||
false
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
function entry(id: AgentCatalogEntry['id'], label: string, cmd: string): AgentCatalogEntry {
|
||||
return {
|
||||
id,
|
||||
label,
|
||||
cmd,
|
||||
homepageUrl: 'https://example.com'
|
||||
}
|
||||
}
|
||||
@@ -69,23 +69,4 @@ describe('hibernation PTY binding age', () => {
|
||||
expect(getHibernationPtyBindingFirstSeenAtByPaneKey()[PANE]).toBe(1_000)
|
||||
expect(getHibernationBoundaryResolvedAtByPaneKey()[PANE]).toBe(1_500)
|
||||
})
|
||||
|
||||
it('expires an unseen binding once it is older than the idle window', () => {
|
||||
observe('pty-1', 1_000)
|
||||
recordHibernationBoundaryResolved(PANE, 1_000)
|
||||
observe(null, 1_000 + IDLE_MS)
|
||||
expect(getHibernationPtyBindingFirstSeenAtByPaneKey()[PANE]).toBe(1_000)
|
||||
expect(getHibernationBoundaryResolvedAtByPaneKey()[PANE]).toBe(1_000)
|
||||
observe(null, 1_000 + IDLE_MS + 1)
|
||||
expect(getHibernationPtyBindingFirstSeenAtByPaneKey()[PANE]).toBeUndefined()
|
||||
expect(getHibernationBoundaryResolvedAtByPaneKey()[PANE]).toBeUndefined()
|
||||
})
|
||||
|
||||
it('drops bindings and boundary stamps when the tab is authoritatively gone', () => {
|
||||
observe('pty-1', 1_000)
|
||||
recordHibernationBoundaryResolved(PANE, 1_000)
|
||||
observe(null, 2_000, [])
|
||||
expect(getHibernationPtyBindingFirstSeenAtByPaneKey()[PANE]).toBeUndefined()
|
||||
expect(getHibernationBoundaryResolvedAtByPaneKey()[PANE]).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
-59
@@ -179,62 +179,3 @@ describe('session title freshness', () => {
|
||||
expect(sent).toHaveLength(64)
|
||||
})
|
||||
})
|
||||
|
||||
describe('host-status title gating', () => {
|
||||
function runtimeStatus(capabilities: string[], checkedAt: number) {
|
||||
return new Map([
|
||||
[
|
||||
'server-1',
|
||||
{
|
||||
checkedAt,
|
||||
status: {
|
||||
runtimeId: 'server-1',
|
||||
rendererGraphEpoch: 1,
|
||||
graphStatus: 'ready' as const,
|
||||
authoritativeWindowId: null,
|
||||
liveTabCount: 1,
|
||||
liveLeafCount: 1,
|
||||
capabilities
|
||||
}
|
||||
}
|
||||
]
|
||||
])
|
||||
}
|
||||
|
||||
it('skips the tab catalog walk when a status ping keeps title-refresh support', async () => {
|
||||
const store = storeFor('runtime:server-1')
|
||||
const resolveSessionTitles = vi.fn(async () => titleResult('codex', 'First name'))
|
||||
stop = startAiVaultTabTitleSync({ ...store, resolveSessionTitles })
|
||||
await vi.waitFor(() => expect(resolveSessionTitles).toHaveBeenCalledTimes(1))
|
||||
await new Promise((resolve) => setTimeout(resolve, 0))
|
||||
vi.mocked(collectAiVaultTitleRequests).mockClear()
|
||||
|
||||
store.update({ runtimeStatusByEnvironmentId: runtimeStatus([], 2) })
|
||||
store.update({ runtimeStatusByEnvironmentId: runtimeStatus([], 3) })
|
||||
|
||||
expect(collectAiVaultTitleRequests).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('reconciles when a host gains title-refresh support', async () => {
|
||||
const store = storeFor('runtime:server-1')
|
||||
const resolveSessionTitles = vi.fn(async () => titleResult('codex', 'First name'))
|
||||
const scheduleReconcile = vi.fn((callback: () => void) => {
|
||||
queueMicrotask(callback)
|
||||
return () => {}
|
||||
})
|
||||
stop = startAiVaultTabTitleSync({ ...store, resolveSessionTitles, scheduleReconcile })
|
||||
await vi.waitFor(() => expect(resolveSessionTitles).toHaveBeenCalledTimes(1))
|
||||
await new Promise((resolve) => setTimeout(resolve, 0))
|
||||
scheduleReconcile.mockClear()
|
||||
|
||||
store.update({ runtimeStatusByEnvironmentId: runtimeStatus([], 2) })
|
||||
expect(scheduleReconcile).not.toHaveBeenCalled()
|
||||
store.update({
|
||||
runtimeStatusByEnvironmentId: runtimeStatus(
|
||||
[AI_VAULT_SESSION_TITLE_REFRESH_RUNTIME_CAPABILITY],
|
||||
3
|
||||
)
|
||||
})
|
||||
expect(scheduleReconcile).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -87,48 +87,6 @@ describe('AI Vault tab title sync', () => {
|
||||
stop()
|
||||
})
|
||||
|
||||
it('defers title reads through the configured background scheduler', async () => {
|
||||
const store = makeState({
|
||||
executionHostId: 'ssh:dev-box',
|
||||
worktreeId: 'worktree-1',
|
||||
path: '/workspace/albacore'
|
||||
})
|
||||
const resolveSessionTitles = vi.fn(async () => titleResult('codex', 'Deferred conversation'))
|
||||
let runScheduled: (() => void) | undefined
|
||||
const cancelScheduled = vi.fn()
|
||||
const stop = startAiVaultTabTitleSync({
|
||||
...store,
|
||||
resolveSessionTitles,
|
||||
scheduleReconcile: (callback) => {
|
||||
runScheduled = callback
|
||||
return cancelScheduled
|
||||
}
|
||||
})
|
||||
|
||||
expect(resolveSessionTitles).not.toHaveBeenCalled()
|
||||
runScheduled?.()
|
||||
await vi.waitFor(() => expect(resolveSessionTitles).toHaveBeenCalledTimes(1))
|
||||
stop()
|
||||
})
|
||||
|
||||
it('does not reread when a live status ping preserves title inputs', async () => {
|
||||
const store = makeState({
|
||||
executionHostId: 'ssh:dev-box',
|
||||
worktreeId: 'worktree-1',
|
||||
path: '/workspace/albacore'
|
||||
})
|
||||
const resolveSessionTitles = vi.fn(async () => titleResult('codex', 'Stable conversation'))
|
||||
const stop = startAiVaultTabTitleSync({ ...store, resolveSessionTitles })
|
||||
|
||||
await vi.waitFor(() => expect(resolveSessionTitles).toHaveBeenCalledTimes(1))
|
||||
store.pingAgentStatus()
|
||||
await Promise.resolve()
|
||||
await Promise.resolve()
|
||||
|
||||
expect(resolveSessionTitles).toHaveBeenCalledTimes(1)
|
||||
stop()
|
||||
})
|
||||
|
||||
it('reconciles immediately when the provider session identity changes', async () => {
|
||||
const store = makeState({
|
||||
executionHostId: 'ssh:dev-box',
|
||||
|
||||
@@ -128,14 +128,4 @@ describe('react commit cascade observer', () => {
|
||||
|
||||
expect(invocationsAtReport).toBe(REACT_COMMIT_CASCADE_NOTICE_LIMIT)
|
||||
})
|
||||
|
||||
it('stays silent for a render that settles well below the notice limit', () => {
|
||||
useCascadeStore.setState({ ticks: CASCADE_TICKS })
|
||||
|
||||
act(() => {
|
||||
root.render(<RunawayLayoutEffectPane />)
|
||||
})
|
||||
|
||||
expect(recordBreadcrumb).not.toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
||||
@@ -175,11 +175,4 @@ describe('activateSimulatorTabPaletteResult', () => {
|
||||
expect(state.activeGroupIdByWorktree['wt-1']).toBe('group-2')
|
||||
expect(state.groupsByWorktree['wt-1'][1].activeTabId).toBe('sim-tab-1')
|
||||
})
|
||||
|
||||
it('reports blocked activation without claiming the workspace disappeared', () => {
|
||||
mocks.activateAndRevealWorkspace.mockReturnValue(false)
|
||||
|
||||
expect(activateSimulatorTabPaletteResult(target)).toEqual({ status: 'blocked' })
|
||||
expect(useAppStore.getState().activeTabType).not.toBe('simulator')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -162,18 +162,6 @@ describe('launchSleepingAgentSession Windows shell quoting', () => {
|
||||
await expect(launch()).resolves.toBe(`codex "resume" "${SESSION_ID}"`)
|
||||
})
|
||||
|
||||
it('keeps PowerShell quoting for a powershell tab', async () => {
|
||||
store.settings.terminalWindowsShell = 'powershell.exe'
|
||||
|
||||
await expect(launch()).resolves.toBe(`codex 'resume' '${SESSION_ID}'`)
|
||||
})
|
||||
|
||||
it('quotes the resume argv for a Git Bash tab', async () => {
|
||||
store.settings.terminalWindowsShell = 'git-bash'
|
||||
|
||||
await expect(launch()).resolves.toBe(`codex 'resume' '${SESSION_ID}'`)
|
||||
})
|
||||
|
||||
it('ignores the local Windows shell setting for an SSH workspace', async () => {
|
||||
store.settings.terminalWindowsShell = 'cmd.exe'
|
||||
store.repos = [{ id: 'repo-1', connectionId: 'ssh-1', path: '/home/neil/repo' }]
|
||||
|
||||
Reference in New Issue
Block a user