Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/oracle-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ jobs:
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Build dependencies
run: node scripts/ci-tests.mjs build sqlite-core
- name: Run the generated campaign with a larger budget
env:
TANSTACK_DB_ORACLE_RUNS_MULTIPLIER: '10'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1134,6 +1134,9 @@ const PROPERTY = `persisted-demand-coverage.history`
const REQUIRED_PROPERTY = `persisted-demand-coverage.required`
const RUNS = 40
const REQUIRED_RUNS = 2
// Nightly scales both history budgets; allow the same time per history while
// keeping ordinary PR and replay runs bounded by the existing three minutes.
const campaignTimeoutMs = oracleRuns(180_000)
const REACH_STATES: ReadonlyArray<CoverageReach> = [
`covered offline`,
`uncovered offline`,
Expand Down Expand Up @@ -1448,7 +1451,7 @@ describe(`persisted demand coverage over generated histories`, () => {
quietConsole()
await campaign({ seed: 2102, numRuns: oracleRuns(RUNS) })
},
180_000,
campaignTimeoutMs,
)

it.skipIf(oracleReplaySkips(PROPERTY, REQUIRED_PROPERTY))(
Expand All @@ -1457,6 +1460,6 @@ describe(`persisted demand coverage over generated histories`, () => {
quietConsole()
await campaign(oraclePropertyOptions(RUNS, PROPERTY))
},
180_000,
campaignTimeoutMs,
)
})
4 changes: 2 additions & 2 deletions scripts/demand-coverage-mutants.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -200,8 +200,8 @@ const MUTANTS = [
{
id: 'P22',
file: 'packages/db-sqlite-persistence-core/src/persisted.ts',
find: ' options.signal?.addEventListener(`abort`, settle, { once: true })\n',
replace: '',
find: ' options.signal?.addEventListener(`abort`, settle, { once: true })\n void upstream.catch(() => undefined).then(settle)',
replace: ' void upstream.catch(() => undefined).then(settle)',
rationale: 'settleCoveredDemand: release does not end the covered wait',
},
{
Expand Down
Loading