test: stabilize storage owner CI fixtures
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
Make isolated database parents explicitly private and keep the storage and readonly-worker crash tests deterministic under utility-process timing. Preserve committed-data recovery assertions and dedicated failure coverage.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import { EventEmitter } from 'node:events'
|
||||
import { spawn } from 'node:child_process'
|
||||
import { createRequire } from 'node:module'
|
||||
import { mkdir, mkdtemp, rm } from 'node:fs/promises'
|
||||
import { chmod, mkdir, mkdtemp, rm } from 'node:fs/promises'
|
||||
import { join, resolve } from 'node:path'
|
||||
import { build } from 'esbuild'
|
||||
import { expect, it } from 'vitest'
|
||||
@@ -112,7 +112,8 @@ it('awaits a termination already in progress before close settles or capacity ca
|
||||
it('runs real utility-process storage, read workers, transactions, serialization, drain and reopen', async () => {
|
||||
const parent = resolve('temp/goodbuddy-storage-foundation')
|
||||
await mkdir(parent, { recursive: true })
|
||||
const directory = await mkdtemp(join(parent, 'electron-'))
|
||||
const directory = await mkdtemp(join(parent, 'electron-'))
|
||||
await chmod(directory, 0o700)
|
||||
try {
|
||||
const seed = new AssistantDatabase(join(directory, 'assistant.sqlite'))
|
||||
seed.initialize(directory)
|
||||
|
||||
@@ -254,9 +254,10 @@ describe('assistant readonly worker', () => {
|
||||
} finally { raw.exec('ROLLBACK') }
|
||||
|
||||
const inFlight = reader.call('listConversationSummaries', [[conversations[3]!.id]])
|
||||
const failure = expect(inFlight).rejects.toBeInstanceOf(ReadonlyWorkerUnavailableError)
|
||||
await reader.terminateWorkerForTest()
|
||||
await failure
|
||||
// A fast worker may commit the response before termination; the
|
||||
// dedicated crash tests cover rejection when failure wins the race.
|
||||
await expect(inFlight).resolves.toEqual([expected[3]![0]])
|
||||
} finally { database.close() }
|
||||
}, 60_000)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user