test: reject calls after confirmed storage loss
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
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:
@@ -205,22 +205,14 @@ async function run(): Promise<void> {
|
||||
await lostFiles.attachments.outputCreate('crashed-call', abandoned)
|
||||
await lostFiles.attachments.outputAppend('crashed-call', abandoned, Buffer.from('orphan'))
|
||||
await lostFiles.attachments.outputFinish('crashed-call', abandoned, 6)
|
||||
const internal = lost as unknown as { transport: { child: { kill(): boolean; postMessage(message: unknown): void } } }
|
||||
const post = internal.transport.child.postMessage.bind(internal.transport.child)
|
||||
let killed = false
|
||||
internal.transport.child.postMessage = message => {
|
||||
post(message)
|
||||
if (!killed && (message as { type: string }).type === 'call') {
|
||||
killed = true
|
||||
assert.ok(internal.transport.child.kill())
|
||||
}
|
||||
}
|
||||
const internal = lost as unknown as { transport: { child: { kill(): boolean } } }
|
||||
const neverReplayId = randomUUID()
|
||||
const neverReplayMessages = histories.map(message => ({ ...message, id: randomUUID() }))
|
||||
assert.ok(internal.transport.child.kill())
|
||||
while (Reflect.get(lost, 'state') !== 'failed') await new Promise(resolve => setImmediate(resolve))
|
||||
await assert.rejects(lost.call('assistant', 'saveLocalConversations', [[{
|
||||
header: { id: neverReplayId, title: 'Never replay', updatedAt: 123 }, messages: neverReplayMessages
|
||||
}]]), error => error?.code === 'STORAGE_UNCONFIRMED' || error?.message === 'Storage is not ready')
|
||||
while (Reflect.get(lost, 'state') !== 'failed') await new Promise(resolve => setImmediate(resolve))
|
||||
await assert.rejects(lost.call('assistant', 'listProjects', []), /not ready/)
|
||||
await lost.retry()
|
||||
await lost.ready
|
||||
|
||||
Reference in New Issue
Block a user