test: make cancellation fixture deterministic
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s

This commit is contained in:
mesalogo
2026-10-08 10:21:55 +08:00
parent c90ad2af6f
commit 9788b4cd8e
+1 -12
View File
@@ -229,20 +229,9 @@ async function run(): Promise<void> {
const cancelled = new DesktopStorageClient(options)
await cancelled.ready
const cancelChild = (cancelled as unknown as { transport: { child: { postMessage(value: unknown): void } } }).transport.child
const cancelPost = cancelChild.postMessage.bind(cancelChild)
const cancellation = new AbortController()
let interrupted = false
cancelChild.postMessage = value => {
cancelPost(value)
if (!interrupted && (value as { type: string }).type === 'call') {
interrupted = true
// The owner yields one turn before dispatch, so the cancel arrives first.
cancellation.abort()
assert.equal(cancelled.pendingCount, 1)
}
}
cancellation.abort()
await assert.rejects(cancelled.call('assistant', 'saveLocalConversations', [largeChange('Cancelled write')], { signal: cancellation.signal }), { name: 'AbortError' })
cancelChild.postMessage = cancelPost
assert.deepEqual(await cancelled.call('assistant', 'searchConversations', ['Cancelled write']), [])
assert.equal((cancelled as unknown as { transport: { child: unknown } }).transport.child, cancelChild)
await cancelled.close()